Lorsque j'appuie mes déploiements, pour une raison quelconque, le message d'erreur s'affiche sur mes pods:
pod a non lié PersistentVolumeClaims
Voici mon YAML ci-dessous:
Ceci s'exécute localement, pas sur une solution cloud.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
kompose.cmd: kompose convert
kompose.version: 1.16.0 ()
creationTimestamp: null
labels:
io.kompose.service: ckan
name: ckan
spec:
replicas: 1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: ckan
spec:
containers:
image: slckan/docker_ckan
name: ckan
ports:
- containerPort: 5000
resources: {}
volumeMounts:
- name: ckan-home
mountPath: /usr/lib/ckan/
subPath: ckan
volumes:
- name: ckan-home
persistentVolumeClaim:
claimName: ckan-pv-home-claim
restartPolicy: Always
status: {}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: ckan-pv-home-claim
labels:
io.kompose.service: ckan
spec:
storageClassName: ckan-home-sc
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
volumeMode: Filesystem
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: ckan-home-sc
provisioner: kubernetes.io/no-provisioner
mountOptions:
- dir_mode=0755
- file_mode=0755
- uid=1000
- gid=1000
Vous devez définir un PersistentVolume fournissant l’espace disque que le PersistentVolumeClaim ).
Lorsque vous utilisez storageClass
, Kubernetes va activer le "provisionnement dynamique du volume" qui ne fonctionne pas avec le système de fichiers local.
storageClass
- de la PersistentVolumeClaim Lors de la création de la description d'état de déploiement, le type (mémoire, vitesse, ...) de stockage dont l'application aura besoin est généralement connu.
Pour rendre un déploiement polyvalent, vous souhaitez éviter une dépendance importante au stockage. L'abstraction de volume Kubernetes vous permet de fournir et d'utiliser le stockage de manière standardisée.
Le PersistentVolumeClaim est utilisé pour fournir une contrainte de stockage parallèlement au déploiement d'une application.
Le PersistentVolume offre des instances de volume à l'échelle du cluster prêtes à être consommées ("bound
"). Un volume persistant sera lié à une revendication. Mais puisque plusieurs instances de cette revendication peuvent être exécutées sur plusieurs nœuds, ce volume peut être accédé par plusieurs nœuds.
Un volume PersistentVolume sans StorageClass est considéré comme étant statique .
"Provisioning dynamique de volume" aux côtés avec a StorageClass permet au cluster de provisionner PersistentVolumes à la demande. Pour que cela fonctionne, le fournisseur de stockage donné doit prendre en charge provisioning - ceci permet au cluster de demander la fourniture d'un "nouveau" PersistentVolume quand un insatisfait PersistentVolumeClaim apparaît.