Accéder au stockage persistant

Le stockage persistant dans l'appareil avec air gap Google Distributed Cloud (GDC) vous permet de conserver les données des conteneurs indépendamment du cycle de vie des pods. Vous pouvez revendiquer des volumes avec des ressources PersistentVolumeClaim (PVC) et augmenter la capacité pour conserver l'état lors des redémarrages et des reprogrammations.

Ce document s'adresse aux développeurs du groupe d'opérateurs d'applications qui créent des charges de travail pour leur organisation.

Avant de commencer

Pour effectuer les tâches décrites dans ce document, vous devez demander les autorisations nécessaires et préparer votre environnement.

Demander des rôles IAM

Pour créer, supprimer, modifier ou afficher des volumes persistants dans un cluster Kubernetes, demandez à l'administrateur IAM de votre organisation de vous accorder le rôle Administrateur d'espace de noms (namespace-admin). Ce rôle est lié à l'espace de noms de votre projet.

Préparer votre environnement

Pour exécuter des commandes sur le cluster Kubernetes bare metal préconfiguré, assurez-vous de disposer des ressources suivantes :

  1. Recherchez le nom du cluster Kubernetes ou demandez-le à votre administrateur de plate-forme.

  2. Connectez-vous et générez le fichier kubeconfig pour le cluster Kubernetes si vous n'en avez pas.

  3. Utilisez le chemin d'accès kubeconfig du cluster Kubernetes pour remplacer CLUSTER_KUBECONFIG dans ces instructions.

Créer un volume persistant

Les instructions suivantes montrent comment créer un volume à l'aide de la StorageClass standard-rwo de GDC. Pour en savoir plus sur les ressources StorageClass disponibles dans GDC, consultez Stockage persistant pour les conteneurs.

  1. Créez un PersistentVolumeClaim et configurez-le avec un mode d'accès ReadWriteOnce et une classe de stockage standard-rwo :

    kubectl --kubeconfig CLUSTER_KUBECONFIG \
        --namespace NAMESPACE apply -f - <<EOF
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: PVC_NAME
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
      storageClassName: standard-rwo
    EOF
    

    Remplacez les éléments suivants :

    • CLUSTER_KUBECONFIG : fichier kubeconfig pour le cluster Kubernetes.

    • NAMESPACE : espace de noms du projet dans lequel créer la PVC.

    • PVC_NAME : nom de l'objet PersistentVolumeClaim.

  2. Les objets PersistentVolume (PV) sont provisionnés de manière dynamique. Vérifiez l'état des nouveaux volumes persistants dans votre cluster Kubernetes :

    kubectl get pv --kubeconfig CLUSTER_KUBECONFIG
    

    Le résultat ressemble à ce qui suit :

    NAME       CAPACITY   ACCESS MODES   STATUS      CLAIM     STORAGECLASS   AGE
    pvc-uuidd  10Gi       RWO            Bound       pvc-name  standard-rwo   60s
    
  3. Configurez vos charges de travail de conteneur pour qu'elles utilisent la PVC. Voici un exemple de pod nginx qui utilise une PVC standard-rwo :

    kubectl --kubeconfig CLUSTER_KUBECONFIG \
        --namespace NAMESPACE apply -f - <<EOF
    apiVersion: apps/v1
    kind: Pod
    metadata:
      name: web-server-deployment
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        volumeMounts:
        - mountPath: /usr/share/nginx/html
          name: data
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: PVC_NAME
    EOF
    

    Remplacez PVC_NAME par la PVC que vous avez créée.

Augmenter la capacité du volume

Pour augmenter la capacité d'un objet PersistentVolumeClaim, remplacez le champ spec.resources.storage par la nouvelle capacité. La taille maximale de volume acceptée est de 14,5 Tio.

  1. Augmentez la taille du volume dans le fichier manifeste de l'objet PersistentVolumeClaim :

    kubectl --kubeconfig CLUSTER_KUBECONFIG \
        --namespace NAMESPACE apply -f - <<EOF
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: PVC_NAME
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: VOLUME_STORAGE_SIZE
    EOF
    

    Remplacez les éléments suivants :

    • CLUSTER_KUBECONFIG : fichier kubeconfig pour le cluster Kubernetes.

    • NAMESPACE : espace de noms du projet dans lequel se trouve la ressource PVC.

    • PVC_NAME : nom de la PVC pour laquelle vous augmentez la taille de stockage.

    • VOLUME_SNAPSHOT_SIZE : taille de l'espace de stockage à augmenter, par exemple 50Gi.

  2. Vérifiez l'état des volumes persistants mis à jour dans votre cluster :

    kubectl get pv --kubeconfig CLUSTER_KUBECONFIG
    

Étapes suivantes