Questa pagina spiega come creare una copia, o snapshot, di un volume di archiviazione in un momento specifico per l'applicazione container. Uno snapshot del volume ti consente di riportare un volume a uno stato precedente o di eseguire il provisioning di un nuovo volume.
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 gestire gli snapshot dei volumi, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore spazio dei nomi (namespace-admin
) nello spazio dei nomi del progetto.
Acquisire uno snapshot del volume
Per creare uno snapshot di un oggetto PersistentVolumeClaim
, crea un oggetto VolumeSnapshot
. Il sistema non garantisce la coerenza dei dati. Metti in pausa
l'applicazione e svuota i dati prima di acquisire uno snapshot.
Crea una risorsa personalizzata
VolumeSnapshot
:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: VOLUME_SNAPSHOT_NAME spec: source: persistentVolumeClaimName: PVC_NAME EOF
Sostituisci quanto segue:
KUBERNETES_CLUSTER_KUBECONFIG
: il file kubeconfig per il cluster.NAMESPACE
: lo spazio dei nomi del progetto in cui creare lo snapshot del volume.VOLUME_SNAPSHOT_NAME
: il nome dell'oggettoVolumeSnapshot
.PVC_NAME
: il nome del PVC per cui stai creando uno snapshot.
L'operazione di snapshot viene completata quando il campo
.status.readyToUse
diventatrue
. Puoi utilizzare il seguente comando per controllare lo stato:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG get volumesnapshot \ -o custom-columns='NAME:.metadata.name,READY:.status.readyToUse'
Aggiorna il manifest PVC con lo snapshot del volume specificato come origine dati:
kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: dataSource: name: VOLUME_SNAPSHOT_NAME kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io storageClassName: standard-rwo accessModes: - ReadWriteOnce resources: requests: storage: 10Gi EOF
Sostituisci quanto segue:
KUBERNETES_CLUSTER_KUBECONFIG
: il file kubeconfig per il cluster.NAMESPACE
: lo spazio dei nomi in cui esiste la risorsa PVC.PVC_NAME
: il nome del PVC per cui stai creando uno snapshot.VOLUME_SNAPSHOT_NAME
: il nome dello snapshot del volume.
Passaggi successivi
- Panoramica dei carichi di lavoro con container
- Crea carichi di lavoro stateful
- Accedere all'archiviazione permanente