Questa pagina spiega come creare e gestire l'archiviazione permanente per i carichi di lavoro dei container nell'universo sovrano air-gap di Google Distributed Cloud (GDC). L'archiviazione permanente fornisce alla tua applicazione identità coerenti e nomi host stabili, indipendentemente da dove vengono pianificati i suoi workload.
Questa pagina è rivolta agli sviluppatori all'interno del gruppo di operatori delle applicazioni, che sono responsabili della creazione dei carichi di lavoro delle applicazioni per la loro organizzazione. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC con air gap.
Prima di iniziare
Per completare le attività descritte in questo documento, devi richiedere le autorizzazioni necessarie e preparare l'ambiente.
Richiedere ruoli IAM
Devi disporre di ruoli specifici per ottenere le autorizzazioni necessarie per accedere allo spazio di archiviazione permanente. I ruoli che ti servono dipendono dal fatto che tu stia lavorando all'interno di un cluster condiviso con ambito organizzazione o di un cluster standard con ambito progetto. Per saperne di più, consulta Configurazioni del cluster Kubernetes.
Ruoli del cluster condivisi
Per creare, eliminare, modificare o visualizzare volumi permanenti in un cluster condiviso, chiedi
all'amministratore IAM del progetto di concederti il ruolo Amministratore spazio dei nomi (namespace-admin). Questo ruolo è associato allo spazio dei nomi del progetto.
Ruoli del cluster standard
Per creare, eliminare, modificare o visualizzare volumi permanenti in un cluster standard, chiedi all'amministratore IAM del progetto di concederti il ruolo Sviluppatore cluster (cluster-developer). Questo ruolo è associato allo spazio dei nomi del progetto.
prepara l'ambiente
Per eseguire comandi su un cluster Kubernetes utilizzando l'API, assicurati di disporre delle seguenti risorse:
Individua il nome del cluster Kubernetes o chiedi a un membro del gruppo di amministratori della piattaforma qual è il nome del cluster.
Accedi e genera il file kubeconfig per il cluster Kubernetes.
Utilizza il percorso kubeconfig del cluster Kubernetes per sostituire
KUBERNETES_CLUSTER_KUBECONFIGin queste istruzioni.
Crea un volume permanente
Le seguenti istruzioni mostrano come creare un volume utilizzando
standard-rwo StorageClass di GDC. Per saperne di più
sulle risorse StorageClass disponibili in GDC, vedi
Archiviazione permanente per i container.
Crea una risorsa
PersistentVolumeClaim(PVC) e configurala con una modalità di accessoReadWriteOncee una classe di archiviazionestandard-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 EOFSostituisci quanto segue:
KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster.NAMESPACE: lo spazio dei nomi in cui creare la PVC. Per i cluster condivisi, deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.PVC_NAME: il nome dell'oggettoPersistentVolumeClaim.
Conferma che l'oggetto PVC sia disponibile:
kubectl get pvc --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACEL'output è simile al seguente:
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuid 10Gi RWO Bound pvc-name standard-rwo 60sConfigura i tuoi workload container per utilizzare il PVC. Di seguito è riportato un esempio di pod
nginxche utilizza un PVCstandard-rwo:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: 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 EOFSostituisci
PVC_NAMEcon il PVC che hai creato.
Espandere 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.
Aggiorna il volume a una dimensione maggiore nel file manifest dell'oggetto
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 EOFSostituisci quanto segue:
KUBERNETES_CLUSTER_KUBECONFIG: il file kubeconfig per il cluster.NAMESPACE: lo spazio dei nomi in cui esiste la risorsa PVC. Per i cluster condivisi, deve essere uno spazio dei nomi del progetto. Per i cluster standard, può essere qualsiasi spazio dei nomi.PVC_NAME: il nome del PVC per cui stai aumentando le dimensioni di archiviazione.VOLUME_SNAPSHOT_SIZE: l'importo delle dimensioni dello spazio di archiviazione da aumentare, ad esempio50Gi.
Controlla lo stato dei PV aggiornati nel cluster:
kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
Passaggi successivi
- Panoramica dei carichi di lavoro con container
- Crea carichi di lavoro stateful
- Crea snapshot dei volumi