Auf nichtflüchtigen Speicher zugreifen

Auf dieser Seite wird beschrieben, wie Sie persistenten Speicher für Container-Arbeitslasten in Ihrem Google Distributed Cloud (GDC) Air-Gap-Universum erstellen und verwalten. Durch den persistenten Speicher erhält Ihre Anwendung konsistente Identitäten und stabile Hostnamen, unabhängig davon, wo ihre Arbeitslasten geplant sind.

Diese Seite richtet sich an Entwickler in der Gruppe der Anwendungsbetreiber, die für die Erstellung von Anwendungsarbeitslasten für ihre Organisation verantwortlich sind. Weitere Informationen finden Sie in der Dokumentation zu Zielgruppen für GDC-Air-Gap-Umgebungen.

Hinweise

Wenn Sie Befehle für einen Kubernetes-Cluster ausführen möchten, benötigen Sie die folgenden Ressourcen:

  1. Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie Ihren Plattformadministrator danach.

  2. Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster, falls Sie noch keine haben.

  3. Verwenden Sie den kubeconfig-Pfad des Kubernetes-Clusters, um KUBERNETES_CLUSTER_KUBECONFIG in dieser Anleitung zu ersetzen.

Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Namespace-Administrator“ (namespace-admin) in Ihrem Projekt-Namespace zuzuweisen, um die erforderlichen Berechtigungen zum Erstellen eines nichtflüchtigen Volumes zu erhalten.

Nichtflüchtiges Volume erstellen

In der folgenden Anleitung wird beschrieben, wie Sie mit dem GDC-Tool standard-rwo StorageClass ein Volume erstellen. Weitere Informationen zu den verfügbaren StorageClass-Ressourcen in GDC finden Sie unter Nichtflüchtiger Speicher für Container.

  1. Erstellen Sie ein PersistentVolumeClaim-Objekt und konfigurieren Sie es mit dem Zugriffsmodus ReadWriteOnce und der Speicherklasse standard-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
    

    Ersetzen Sie Folgendes:

    • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster.

    • NAMESPACE: der Projekt-Namespace, in dem der PVC erstellt werden soll.

    • PVC_NAME: der Name des PersistentVolumeClaim-Objekts.

  2. Die PersistentVolume-Objekte (nichtflüchtige Volumes) werden dynamisch bereitgestellt. Prüfen Sie den Status der neuen PVs in Ihrem Kubernetes-Cluster:

    kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
    

    Die Ausgabe sieht etwa so aus:

    NAME       CAPACITY   ACCESS MODES   STATUS      CLAIM     STORAGECLASS   AGE
    pvc-uuidd  10Gi       RWO            Bound       pvc-name  standard-rwo   60s
    
  3. Konfigurieren Sie Ihre Containerarbeitslasten für die Verwendung des PVC. Das Folgende ist ein Beispiel für einen nginx-Pod, der einen standard-rwo-PVC verwendet:

    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
    

    Ersetzen Sie PVC_NAME durch 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 Lautstärke beträgt 14,5 TiB.

  1. 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
    EOF
    

    Ersetzen Sie Folgendes:

    • KUBERNETES_CLUSTER_KUBECONFIG: Die kubeconfig-Datei für den Cluster.

    • NAMESPACE: Der Projekt-Namespace, in dem die PVC-Ressource vorhanden ist.

    • PVC_NAME: Der Name des PVC, für den Sie die Speichergröße erhöhen.

    • VOLUME_SNAPSHOT_SIZE: Die Speichermenge, um die erhöht werden soll, z. B. 50Gi.

  2. Prüfen Sie den Status der aktualisierten PVs in Ihrem Cluster:

    kubectl get pv --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG
    

Nächste Schritte