Accéder au stockage persistant

Cette page explique comment créer et gérer un stockage persistant pour les charges de travail de conteneurs dans votre univers souverain Google Distributed Cloud (GDC) isolé. Le stockage persistant fournit à votre application des identités cohérentes et des noms d'hôtes stables, quel que soit l'endroit où ses charges de travail sont planifiées.

Cette page s'adresse aux développeurs du groupe des opérateurs d'applications, qui sont chargés de créer des charges de travail d'application pour leur organisation. Pour en savoir plus, consultez la documentation sur les audiences pour GDC en mode air-gapped.

Avant de commencer

Pour exécuter des commandes sur un cluster Kubernetes, 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 KUBERNETES_CLUSTER_KUBECONFIG dans ces instructions.

Pour obtenir les autorisations requises pour créer un volume persistant, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle d'administrateur de l'espace de noms (namespace-admin) dans l'espace de noms de votre projet.

Créer un volume persistant

Les instructions suivantes montrent comment créer un volume à l'aide de l'outil standard-rwo StorageClass 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 KUBERNETES_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 :

    • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig du cluster.

    • 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 PV dans votre cluster Kubernetes :

    kubectl get pv --kubeconfig KUBERNETES_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 le PVC. Voici un exemple de pod nginx qui utilise une PVC standard-rwo :

    kubectl --kubeconfig KUBERNETES_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 le PVC que vous avez créé.

Augmenter la capacité de volume

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

  1. Mettez à jour le volume pour qu'il soit plus grand dans le fichier manifeste de l'objet PersistentVolumeClaim :

    kubectl --kubeconfig KUBERNETES_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 :

    • KUBERNETES_CLUSTER_KUBECONFIG : fichier kubeconfig du cluster.

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

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

    • VOLUME_SNAPSHOT_SIZE : quantité de stockage à augmenter, par exemple 50Gi.

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

    kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
    

Étapes suivantes