In diesem Dokument wird beschrieben, wie Sie eine Kopie oder einen Snapshot eines Speichervolumes zu einem bestimmten Zeitpunkt für Ihre Containeranwendung erstellen. Mit einem Volume-Snapshot können Sie ein Volume auf einen vorherigen Zustand zurücksetzen oder ein neues Volume bereitstellen.
Dieses Dokument richtet sich an Entwickler in der Gruppe der Anwendungsoperatoren, die für die Erstellung von Anwendungsarbeitslasten für ihre Organisation verantwortlich sind. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.
Hinweis
Zum Ausführen der Aufgaben in diesem Dokument müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.
IAM-Rollen anfordern
Sie benötigen bestimmte Rollen, um die Berechtigungen zu erhalten, die zum Erstellen von Volume-Snapshots erforderlich sind. Die erforderlichen Rollen hängen davon ab, ob Sie in einem freigegebenen Cluster mit Organisationsbereich oder in einem Standardcluster mit Projektbereich arbeiten. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.
Rollen für freigegebene Cluster
Wenn Sie Volume-Snapshots in einem freigegebenen Cluster erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle Namespace-Administrator (namespace-admin) zuzuweisen.
Diese Rolle ist an Ihren Projekt-Namespace gebunden.
Rollen für Standardcluster
Wenn Sie Volume-Snapshots in einem Standardcluster erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle Cluster Developer (cluster-developer) zuzuweisen. Diese Rolle ist an Ihren Projekt-Namespace gebunden.
Umgebung vorbereiten
Wenn Sie Befehle für einen Kubernetes-Cluster mit der API ausführen möchten, benötigen Sie die folgenden Ressourcen:
Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie ein Mitglied der Gruppe der Plattformadministratoren nach dem Clusternamen.
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster.
Ersetzen Sie in dieser Anleitung
KUBERNETES_CLUSTER_KUBECONFIGdurch den kubeconfig-Pfad des Kubernetes-Clusters.
Volume-Snapshot erstellen
Wenn Sie einen Snapshot eines PersistentVolumeClaim-Objekts erstellen möchten, erstellen Sie ein VolumeSnapshot-Objekt. Das System garantiert keine Datenkonsistenz. Pausieren Sie die Anwendung und leeren Sie die Daten, bevor Sie einen Snapshot erstellen.
Erstellen Sie eine benutzerdefinierte
VolumeSnapshot-Ressource: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 EOFErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster.NAMESPACE: der Namespace, in dem der Volume-Snapshot erstellt werden soll. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es ein beliebiger Namespace sein.VOLUME_SNAPSHOT_NAME: der Name desVolumeSnapshot-Objekts.PVC_NAME: der Name des PVC, für den Sie einen Snapshot erstellen.
Der Snapshot-Vorgang ist abgeschlossen, wenn das Feld
.status.readyToUseden Werttruehat. Mit dem folgenden Befehl können Sie den Status prüfen:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG get volumesnapshot \ -o custom-columns='NAME:.metadata.name,READY:.status.readyToUse'Aktualisieren Sie das PVC-Manifest mit dem Volume-Snapshot, der als Datenquelle angegeben ist:
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 EOFErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster.NAMESPACE: der Namespace, in dem sich die PVC-Ressource befindet. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es ein beliebiger Namespace sein.PVC_NAME: der Name des PVC, für den Sie einen Snapshot erstellen.VOLUME_SNAPSHOT_NAME: der Name des Volume-Snapshots.
Nächste Schritte
- Übersicht über Containerarbeitslasten
- Zustandsorientierte Arbeitslasten erstellen
- Auf nichtflüchtigen Speicher zugreifen