Questa pagina spiega come creare e gestire lo spazio di archiviazione permanente per i carichi di lavoro con container nel dispositivo appliance air-gapped di Google Distributed Cloud (GDC). Lo spazio di archiviazione permanente fornisce all'applicazione identità coerenti e nomi host stabili, indipendentemente da dove vengono pianificati i carichi di lavoro.
Questa pagina è rivolta agli sviluppatori del gruppo di operatori di applicazioni, responsabili della creazione di carichi di lavoro delle applicazioni 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 i volumi permanenti in un cluster Kubernetes, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore dello spazio dei nomi (namespace-admin). Questo ruolo è associato allo spazio dei nomi del progetto.
Prepara l'ambiente
Per eseguire comandi sul cluster Kubernetes bare metal preconfigurato, 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
CLUSTER_KUBECONFIGin 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
Spazio di archiviazione permanente per i container.
Crea un oggetto
PersistentVolumeClaime configurarlo con una modalità di accessoReadWriteOncee una classe di archiviazionestandard-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 EOFSostituisci quanto segue:
CLUSTER_KUBECONFIG: il file kubeconfig per il cluster Kubernetes.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 CLUSTER_KUBECONFIGL'output è simile al seguente:
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuidd 10Gi RWO Bound pvc-name standard-rwo 60sConfigura i carichi di lavoro con container in modo che utilizzino il PVC. Di seguito è riportato un pod
nginxdi esempio che utilizza un PVCstandard-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 EOFSostituisci
PVC_NAMEcon il PVC che hai creato.
Espandi la capacità del volume
Per aumentare la capacità di un oggetto PersistentVolumeClaim, aggiorna il campo spec.resources.storage alla nuova capacità. La dimensione massima del volume supportata è 14,5 Ti.
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 EOFSostituisci 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 del PVC per il quale stai aumentando le dimensioni dello spazio di archiviazione.VOLUME_SNAPSHOT_SIZE: la quantità di spazio di archiviazione da aumentare, ad esempio50Gi.
Controlla lo stato dei PV aggiornati nel cluster:
kubectl get pv --kubeconfig CLUSTER_KUBECONFIG
Passaggi successivi
- Panoramica dei carichi di lavoro con container
- Crea carichi di lavoro stateful
- Crea snapshot dei volumi