Auf nichtflüchtigen Speicher zugreifen

Auf dieser Seite wird beschrieben, wie Sie nichtflüchtigen Speicher für Containerarbeitslasten in Ihrem souveränen GDC-Universum (Google Distributed Cloud) mit Air Gap erstellen und verwalten. Nichtflüchtiger Speicher bietet Ihrer Anwendung konsistente Identitäten und stabile Hostnamen, unabhängig davon, wo die Arbeitslasten geplant sind.

Diese Seite 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

Um die Aufgaben in diesem Dokument auszuführen, 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 für den Zugriff auf den nichtflüchtigen Speicher erforderlich sind. Die erforderlichen Rollen hängen davon ab, ob Sie in einem gemeinsam genutzten Cluster mit Organisationsbereich oder in einem Standardcluster mit Projektbereich arbeiten. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.

Freigegebene Clusterrollen

Wenn Sie persistente Volumes in einem freigegebenen Cluster erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle Namespace Admin (namespace-admin) zuzuweisen. Diese Rolle ist an Ihren Projekt-Namespace gebunden.

Standard-Clusterrollen

Bitten Sie den IAM-Administrator Ihres Projekts, Ihnen die Rolle Cluster Developer (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 Gruppe „Plattformadministrator“, wie der Clustername lautet.

  • Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster.

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

Nichtflüchtiges Volume erstellen

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

  1. Erstellen Sie eine PersistentVolumeClaim-Ressource (PVC) und konfigurieren Sie sie 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 Namespace, in dem der PVC erstellt werden soll. Bei freigegebenen Clustern muss es sich um einen Projekt-Namespace handeln. Bei Standardclustern kann es sich um einen beliebigen Namespace handeln.

    • PVC_NAME: der Name des PersistentVolumeClaim-Objekts.

  2. Prüfen Sie, ob das PVC-Objekt verfügbar ist:

    kubectl get pvc --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG \
        --namespace NAMESPACE
    

    Die Ausgabe sieht etwa so aus:

    NAME       CAPACITY   ACCESS MODES   STATUS      CLAIM     STORAGECLASS   AGE
    pvc-uuid   10Gi       RWO            Bound       pvc-name  standard-rwo   60s
    
  3. Containerarbeitslasten für die Verwendung des PVC konfigurieren Hier sehen Sie ein Beispiel für einen nginx-Pod, der einen standard-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
    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 Namespace, in dem die PVC-Ressource vorhanden ist. Bei freigegebenen Clustern muss es sich um einen Projekt-Namespace handeln. 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 Menge des zu erhöhenden Speichers, 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