Les applications avec état, par exemple les bases de données, enregistrent les données entre les sessions et nécessitent un stockage persistant pour stocker les données. Les données conservées sont appelées l'état de l'application. Vous pouvez ensuite récupérer les données et les utiliser lors de la prochaine session. Kubernetes offre des volumes persistants en tant qu'objets pouvant conserver leur état et leurs données.

Dans l'environnement vSphere, les objets de volume persistant sont sauvegardés par des disques virtuels résidant sur des banques de données. Les banques de données sont représentées par des stratégies de stockage. Une fois que l'administrateur vSphere a créé une stratégie de stockage, par exemple Gold et l'attribue à un espace de noms dans un Superviseur, la stratégie de stockage s'affiche comme une classe de stockage Kubernetes correspondante dans l'Espace de noms vSphere et tous les clusters Tanzu Kubernetes Grid disponibles.

En tant qu'ingénieur DevOps, vous pouvez utiliser la classe de stockage dans vos spécifications de réclamation de volume persistant. Vous pouvez ensuite déployer une application qui utilise le stockage à partir de la réclamation de volume persistant. Dans cet exemple, le volume persistant de l'application est créé dynamiquement.

Conditions préalables

Assurez-vous que votre administrateur vSphere a créé une stratégie de stockage appropriée et l'a attribuée à l'espace de noms.

Procédure

  1. Accédez à votre espace de noms dans l'environnement vSphere Kubernetes.
    Reportez-vous à la section Obtenir et utiliser le contexte du Superviseur.
  2. Vérifiez que les classes de stockage sont disponibles.
  3. Créez une réclamation de volume persistant.
    1. Créez un fichier YAML contenant la configuration de réclamation de volume persistant.
      Dans cet exemple, le fichier fait référence à la classe de stockage gold.
      Pour provisionner un volume persistant ReadWriteMany, définissez accessModes sur ReadWriteMany. Reportez-vous à la section Création de volumes persistants ReadWriteMany dans vSphere with Tanzu.
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: my-pvc
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: gold
        resources:
          requests:
              storage: 3Gi
                 
    2. Appliquez la réclamation de volume persistant au cluster Kubernetes.
      kubectl apply -f pvc_name.yaml
      Cette commande crée dynamiquement un volume persistant Kubernetes et un volume vSphere avec un disque virtuel de sauvegarde qui répond aux exigences de stockage de la réclamation.
    3. Vérifiez l'état de la réclamation du volume persistant.
      kubectl get pvc my-pvc

      Les résultats indiquent que le volume est lié à la réclamation de volume persistant.

      NAME     STATUS    VOLUME   CAPACITY   ACCESSMODES   STORAGECLASS   AGE
      my-pvc   Bound     my-pvc   2Gi        RWO           gold           30s
  4. Créez un espace qui monte votre volume persistant.
    1. Créez un fichier YAML incluant le volume persistant.
      Le fichier contient ces paramètres.
      ...
      volumes:
          - name: my-pvc
            persistentVolumeClaim:
              claimName: my-pvc
    2. Déployez l'espace à partir du fichier YAML.
      kubectl create -f pv_pod_name.yaml
    3. Vérifiez que l'espace a été créé.
      kubectl get pod
      NAME       READY   STATUS    RESTARTS   AGE
      pod_name   1/1     Ready     0          40s

Résultats

L'espace que vous avez configuré utilise un stockage persistant décrit dans la réclamation de volume persistant.

Que faire ensuite

Pour surveiller l'état de santé du volume persistant, reportez-vous à la section Surveiller la santé du volume dans un cluster Espace de noms vSphere ou Tanzu Kubernetes Grid. Pour vérifier et surveiller le volume persistant dans vSphere Client, reportez-vous à Surveiller les volumes persistants dans vSphere Client.