Questa pagina spiega come creare e gestire l'archiviazione permanente per i carichi di lavoro dei container nel tuo 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 carichi di lavoro.
Questa pagina è rivolta agli sviluppatori del gruppo di operatori di applicazioni, che sono responsabili della creazione dei carichi di lavoro delle applicazioni per la propria organizzazione. Per saperne di più, consulta la documentazione sulle audience per GDC air-gapped.
Prima di iniziare
Per eseguire comandi su un cluster Kubernetes, assicurati di disporre delle seguenti risorse:
Individua il nome del cluster Kubernetes o chiedi all'amministratore della piattaforma qual è il nome del cluster.
Accedi e genera il file kubeconfig per il cluster Kubernetes se non ne hai uno.
Utilizza il percorso kubeconfig del cluster Kubernetes per sostituire
KUBERNETES_CLUSTER_KUBECONFIG
in queste istruzioni.
Per ottenere le autorizzazioni necessarie per creare un volume permanente, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore spazio dei nomi (namespace-admin
) nello spazio dei nomi del progetto.
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 un
PersistentVolumeClaim
e configuralo con una modalità di accessoReadWriteOnce
e 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 EOF
Sostituisci quanto segue:
KUBERNETES_CLUSTER_KUBECONFIG
: il file kubeconfig per il cluster.NAMESPACE
: lo spazio dei nomi del progetto in cui creare il PVC.PVC_NAME
: il nome dell'oggettoPersistentVolumeClaim
.
Gli oggetti
PersistentVolume
(PV) vengono sottoposti a provisioning dinamico. Controlla lo stato dei nuovi PV nel cluster Kubernetes:kubectl get pv --kubeconfig KUBERNETES_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
Configura i tuoi workload containerizzati per utilizzare il PVC. Di seguito è riportato un esempio di pod
nginx
che utilizza un PVCstandard-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
Sostituisci
PVC_NAME
con 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 EOF
Sostituisci quanto segue:
KUBERNETES_CLUSTER_KUBECONFIG
: il file kubeconfig per il cluster.NAMESPACE
: lo spazio dei nomi del progetto in cui esiste la risorsa PVC.PVC_NAME
: il nome del PVC per cui stai aumentando le dimensioni dello spazio di archiviazione.VOLUME_SNAPSHOT_SIZE
: l'importo della dimensione 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