Skip to main content
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Provisionner un volume

Contributeurs

Créez un volume persistant et une demande de volume persistant qui utilisent la classe de stockage Kubernetes configurée pour demander l'accès au volume persistant. Vous pouvez ensuite monter le volume persistant sur un pod.

Présentation

A "Volume persistant" (PV) est une ressource de stockage physique provisionnée par l'administrateur du cluster sur un cluster Kubernetes. Le "PersistentVolumeClaim" (PVC) est une demande d'accès au volume persistant sur le cluster.

Le PVC peut être configuré pour demander un stockage d'une certaine taille ou d'un certain mode d'accès. À l'aide de la classe de stockage associée, l'administrateur du cluster peut contrôler plus que la taille du volume persistant et le mode d'accès, tels que les performances ou le niveau de service.

Après avoir créé le volume persistant et la demande de volume persistant, vous pouvez monter le volume dans un pod.

Exemples de manifestes

Exemple de manifeste de volume persistant

Cet exemple de manifeste montre un volume persistant de base de 10Gi associé à StorageClass basic-csi.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-storage
  labels:
    type: local
spec:
  storageClassName: basic-csi
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/my/host/path"
Exemple de manifeste de demande de volume persistant

Cet exemple montre une demande de volume persistant de base avec accès RWO associée à une classe de stockage nommée basic-csi.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-storage
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: basic-csi
Exemple de manifeste de pod
kind: Pod
apiVersion: v1
metadata:
  name: pv-pod
spec:
  volumes:
    - name: pv-storage
      persistentVolumeClaim:
       claimName: basic
  containers:
    - name: pv-container
      image: nginx
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
        - mountPath: "/my/mount/path"
          name: pv-storage

Créer le volume persistant et la demande de volume persistant

Étapes
  1. Créer la PV.

    kubectl create -f pv.yaml
  2. Vérifiez l'état du PV.

    kubectl get pv
    NAME        CAPACITY  ACCESS MODES  RECLAIM POLICY  STATUS    CLAIM  STORAGECLASS  REASON  AGE
    pv-storage  4Gi       RWO           Retain          Available                              7s
  3. Créer la PVC.

    kubectl create -f pvc.yaml
  4. Vérifiez l'état de la demande de volume persistant.

    kubectl get pvc
    NAME        STATUS VOLUME     CAPACITY ACCESS MODES STORAGECLASS AGE
    pvc-storage Bound  pv-name 2Gi      RWO                       5m
  5. Montez le volume dans un pod.

    kubectl create -f pv-pod.yaml
    Remarque Vous pouvez surveiller la progression à l'aide de kubectl get pod --watch.
  6. Vérifiez que le volume est monté sur /my/mount/path.

    kubectl exec -it task-pv-pod -- df -h /my/mount/path
  7. Vous pouvez maintenant supprimer le Pod. L'application Pod n'existera plus, mais le volume restera.

    kubectl delete pod task-pv-pod

Reportez-vous à la section "Kubernetes et objets Trident" pour plus d'informations sur l'interaction des classes de stockage avec le PersistentVolumeClaim Et paramètres de contrôle du provisionnement des volumes par Astra Trident.