Mit nichtflüchtigem Speicher in Google Distributed Cloud (GDC) mit Air Gap können Sie Containerdaten unabhängig von Pod-Lebenszyklen aufbewahren. Sie können Volumes mit PersistentVolumeClaim-Ressourcen (PVC) beanspruchen und die Kapazität erweitern, um den Status über Neustarts und Neuplanung hinweg beizubehalten.
Dieses Dokument richtet sich an Entwickler in der Gruppe der Anwendungsoperatoren, die Arbeitslasten für ihre Organisation erstellen. Weitere Informationen finden Sie unter Zielgruppen für die Dokumentation zu 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 für den Zugriff auf nichtflüchtigen Speicher zu erhalten. Welche Rollen Sie benötigen, hängt davon ab, ob Sie in einem freigegebenen Cluster auf Organisationsebene oder in einem Standardcluster auf Projektebene arbeiten. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.
Freigegebene Clusterrollen
Wenn Sie nichtflüchtige Volumes in einem freigegebenen Cluster erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie Ihren IAM-Projektadministrator, Ihnen die Rolle Namespace-Administrator (namespace-admin) zuzuweisen. Diese Rolle ist an Ihren Projekt-Namespace gebunden.
Standardclusterrollen
Bitten Sie Ihren IAM-Projektadministrator, Ihnen die Rolle Cluster-Entwickler (cluster-developer) zuzuweisen, um nichtflüchtige Volumes in einem Standardcluster zu erstellen, zu löschen, zu bearbeiten oder anzusehen. Diese Rolle ist an Ihren Projekt-Namespace gebunden.
Umgebung vorbereiten
Wenn Sie Befehle für einen Kubernetes-Cluster über die API ausführen möchten, benötigen Sie die folgenden Ressourcen:
Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie ein Mitglied der Plattformadministratorgruppe nach dem Clusternamen.
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster.
Ersetzen Sie
KUBERNETES_CLUSTER_KUBECONFIGin dieser Anleitung durch den kubeconfig-Pfad des Kubernetes-Clusters.
Nichtflüchtiges Volume erstellen
In der folgenden Anleitung wird gezeigt, wie Sie ein Volume mit der GDC-standard-rwo StorageClass erstellen. Weitere Informationen zu den verfügbaren StorageClass-Ressourcen in GDC finden Sie unter Nichtflüchtiger Speicher für Container.
Erstellen Sie eine
PersistentVolumeClaim-Ressource (PVC) und konfigurieren Sie sie mit dem ZugriffsmodusReadWriteOnceund der Speicherklassestandard-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 EOFErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster.NAMESPACE: der Namespace, in dem der PVC erstellt werden soll. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.PVC_NAME: der Name desPersistentVolumeClaim-Objekts.
Prüfen Sie, ob das PVC-Objekt verfügbar ist:
kubectl get pvc --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \ --namespace NAMESPACEDie Ausgabe sieht etwa so aus:
NAME CAPACITY ACCESS MODES STATUS CLAIM STORAGECLASS AGE pvc-uuid 10Gi RWO Bound pvc-name standard-rwo 60sKonfigurieren Sie Ihre Containerarbeitslasten für die Verwendung des PVC. Hier sehen Sie ein Beispiel für einen
nginx-Pod, der einenstandard-rwo-PVC verwendet: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 EOFErsetzen Sie
PVC_NAMEdurch den von Ihnen erstellten PVC.
Volume-Kapazität erweitern
Wenn Sie die Kapazität eines PersistentVolumeClaim-Objekts erhöhen möchten, aktualisieren Sie das Feld spec.resources.storage auf die neue Kapazität. Die maximal unterstützte Volume-Größe beträgt 14,5 Ti.
Aktualisieren Sie das Volume in der Manifestdatei des
PersistentVolumeClaim-Objekts auf eine größere Größe: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 EOFErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_KUBECONFIG: die kubeconfig-Datei für den Cluster.NAMESPACE: der Namespace, in dem die PVC-Ressource vorhanden ist. Bei freigegebenen Clustern muss dies ein Projekt-Namespace sein. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.PVC_NAME: der Name des PVC, für den Sie die Speichergröße erhöhen.VOLUME_SNAPSHOT_SIZE: die Speichergröße, um die der Speicher erhöht werden soll, z. B.50Gi.
Prüfen Sie den Status der aktualisierten PVs in Ihrem Cluster:
kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
Nächste Schritte
- Containerarbeitslasten – Übersicht
- Zustandsorientierte Arbeitslasten erstellen
- Volume-Snapshots erstellen