Accedere all'archiviazione permanente

L'archiviazione permanente nell'appliance Google Distributed Cloud (GDC) con air gap consente di conservare i dati dei container indipendentemente dai cicli di vita dei pod. Puoi richiedere volumi con risorse PersistentVolumeClaim (PVC) ed espandere la capacità per mantenere lo stato tra i riavvii e le ripianificazioni.

Questo documento è rivolto agli sviluppatori del gruppo di operatori di applicazioni che creano workload per la propria organizzazione.

Prima di iniziare

Per completare le attività descritte in questo documento, devi richiedere le autorizzazioni necessarie e preparare l'ambiente.

Richiedi ruoli IAM

Per creare, eliminare, modificare o visualizzare volumi permanenti in un cluster Kubernetes, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Namespace Admin (namespace-admin). Questo ruolo è associato allo spazio dei nomi del progetto.

prepara l'ambiente

Per eseguire i comandi sul cluster Kubernetes bare metal preconfigurato, assicurati di disporre delle seguenti risorse:

  1. Individua il nome del cluster Kubernetes o chiedi all'amministratore della piattaforma qual è il nome del cluster.

  2. Accedi e genera il file kubeconfig per il cluster Kubernetes se non ne hai uno.

  3. Utilizza il percorso kubeconfig del cluster Kubernetes per sostituire CLUSTER_KUBECONFIG in queste istruzioni.

Crea un volume permanente

Le seguenti istruzioni mostrano come creare un volume utilizzando StorageClass standard-rwo di GDC. Per saperne di più sulle risorse StorageClass disponibili in GDC, consulta Archiviazione permanente per i container.

  1. Crea un PersistentVolumeClaim e configuralo con una modalità di accesso ReadWriteOnce e una classe di archiviazione 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
    

    Sostituisci quanto segue:

    • CLUSTER_KUBECONFIG: il file kubeconfig del cluster Kubernetes.

    • NAMESPACE: lo spazio dei nomi del progetto in cui creare la PVC.

    • PVC_NAME: il nome dell'oggetto PersistentVolumeClaim.

  2. Il provisioning degli oggetti PersistentVolume (PV) viene eseguito dinamicamente. Controlla lo stato dei nuovi VP nel cluster Kubernetes:

    kubectl get pv --kubeconfig CLUSTER_KUBECONFIG
    

    L'output è simile al seguente:

    NAME       CAPACITY   ACCESS MODES   STATUS      CLAIM     STORAGECLASS   AGE
    pvc-uuidd  10Gi       RWO            Bound       pvc-name  standard-rwo   60s
    
  3. Configura i workload dei container in modo che utilizzino la PVC. Di seguito è riportato un esempio di pod nginx che utilizza una 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
    

    Sostituisci PVC_NAME con la PVC che hai creato.

Espandi la capacità del volume

Per aumentare la capacità di un oggetto PersistentVolumeClaim, aggiorna il campo spec.resources.storage con la nuova capacità. La dimensione massima supportata del volume è 14,5 Ti.

  1. Aggiorna il volume a una dimensione maggiore nel file manifest dell'oggetto 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
    

    Sostituisci quanto segue:

    • CLUSTER_KUBECONFIG: il file kubeconfig per il cluster Kubernetes.

    • NAMESPACE: lo spazio dei nomi del progetto in cui esiste la risorsa PVC.

    • PVC_NAME: il nome della PVC per cui stai aumentando le dimensioni dello spazio di archiviazione.

    • VOLUME_SNAPSHOT_SIZE: la quantità di spazio di archiviazione da aumentare, ad esempio 50Gi.

  2. Controlla lo stato dei PV aggiornati nel cluster:

    kubectl get pv --kubeconfig CLUSTER_KUBECONFIG
    

Passaggi successivi