Kurzanleitung: Auf Cloud Storage-Buckets mit dem FUSE CSI-Treiber zugreifen


In dieser Kurzanleitung erfahren Sie, wie Sie von einer Google Kubernetes Engine-Anwendung (GKE) aus auf Cloud Storage-Buckets zugreifen, als wären sie lokale Dateisysteme. Dieser Schnellstart enthält ein Beispiel-Kubernetes-Manifest zum Erstellen eines Pods, der den Bucket bereitstellt. Außerdem wird gezeigt, wie Sie über das Dateisystem des Pods mit dem Inhalt des Buckets interagieren.

Diese Seite richtet sich an Entwickler, Speicherspezialisten und alle anderen, die Cloud-Ressourcen bereitstellen und verwalten sowie Arbeitslasten bereitstellen möchten. Weitere Informationen zu gängigen Rollen finden Sie unter Häufig verwendete GKE Enterprise-Nutzerrollen und -Aufgaben.

Machen Sie sich vor dem Lesen dieser Seite mit Kubernetes und dem CSI-Treiber für Cloud Storage FUSE vertraut.

In dieser Kurzanleitung wird der GKE Autopilot-Modus verwendet. Wenn Sie den Standardmodus verwenden möchten, lesen Sie den Hilfeartikel Cloud Storage FUSE CSI-Treiber für GKE einrichten.

Hinweis

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the GKE and Cloud Storage APIs.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: roles/container.admin, roles/storage.admin, roles/storage.objectUser, roles/iam.serviceAccountUser

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
    1. In the Google Cloud console, go to the IAM page.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf Zugriff erlauben.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.

    5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
    6. Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
    7. Klicken Sie auf Speichern.

Erstellen Sie einen GKE Autopilot-Cluster

  1. Öffnen Sie in der Google Cloud Console die Seite zu den GKE-Clustern.

    Zu den Clustern

  2. Klicken Sie auf Erstellen.

  3. Klicken Sie im Dialogfeld Cluster erstellen für den Autopilot-Modus auf Konfigurieren.

  4. Führen Sie unter Clustergrundlagen die folgenden Schritte aus:

    1. Geben Sie im Feld Name einen Namen für den Cluster ein.

    2. Übernehmen Sie für die übrigen Einstellungen jeweils die Standardeinstellung.

  5. Klicken Sie auf Erstellen, um den Cluster zu erstellen.

Cloud Storage-Bucket erstellen

  1. Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.

    Buckets aufrufen

  2. Klicken Sie auf Erstellen.

  3. Führen Sie auf der Seite Bucket erstellen im Abschnitt Einstieg die folgenden Schritte aus:

    1. Geben Sie einen global eindeutigen Namen für den Bucket ein, der den Anforderungen für Bucket-Namen entspricht.

    2. Übernehmen Sie für die übrigen Einstellungen jeweils die Standardeinstellung.

  4. Klicken Sie auf Erstellen, um den Bucket zu erstellen.

Objekte in den Cloud Storage-Bucket hochladen

  1. Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie gerade erstellt haben.

  3. Führen Sie auf dem Tab Objekte für den Bucket einen der folgenden Schritte aus:

    • Ziehen Sie Dateien von Ihrem Desktop oder Dateimanager in den Hauptbereich der Google Cloud Console.

    • Klicken Sie auf die Schaltfläche Upload Files (Dateien hochladen). Wählen Sie im angezeigten Dialogfeld die Dateien aus, die Sie hochladen möchten, und klicken Sie auf Öffnen.

Zugriff auf Ihren Cloud Storage-Bucket konfigurieren

Damit Ihr GKE-Cluster auf Ihren Cloud Storage-Bucket zugreifen kann, folgen Sie der Anleitung unter Zugriff auf Cloud Storage-Buckets konfigurieren.

Pod mit FUSE bereitstellen, um auf Cloud Storage-Bucket zuzugreifen

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    In einem Frame in der Console wird eine Cloud Shell-Sitzung geöffnet.

  2. Verwenden Sie zum Festlegen des Standardprojekts die Projekt-ID des Projekts, in dem Sie den Pod bereitstellen möchten:

    gcloud config set project PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.

  3. Erstellen Sie das Pod-Manifest mit dem folgenden Inhalt und wenden Sie es an:

    cat << EOF | kubectl apply -f -
    apiVersion: v1
    kind: Pod
    metadata:
      name: gcsfuse-test
      namespace: default
      annotations:
        gke-gcsfuse/volumes: "true"
    spec:
      terminationGracePeriodSeconds: 60
      containers:
      - image: busybox
        name: busybox
        command: ["sleep"]
        args: ["infinity"]
        volumeMounts:
        - name: gcsfuse-test
          mountPath: /data
          readOnly: true
      serviceAccountName: default
      volumes:
      - name: gcsfuse-test
        csi:
          driver: gcsfuse.csi.storage.gke.io
          volumeAttributes:
            bucketName: BUCKET_NAME
            mountOptions: "implicit-dirs"
    EOF
    
    • Ersetzen Sie BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
    • Wenn Sie einen anderen Namespace oder ein anderes Dienstkonto verwenden, ersetzen Sie die Felder namespace und serviceAccountName entsprechend.

    Der Inhalt dieses Manifests startet einen Pod namens gcsfuse-test, der den Bucket unter dem Pfad /data bereitstellt.

  4. Prüfen Sie, ob der Pod ausgeführt wird:

    kubectl get pod gcsfuse-test
    

    Die Ausgabe sieht in etwa so aus:

    NAME           READY   STATUS    RESTARTS   AGE
    gcsfuse-test   2/2     Running   0          12s
    

    Der Cloud Storage FUSE CSI-Treiber hängt einen Sidecar-Container an Ihren Pod an, um die Interaktionen mit Cloud Storage zu verwalten.

    Wenn der Pod nicht ausgeführt wird, können Sie die Ereignisprotokolle abrufen, um das Problem zu diagnostizieren. Führen Sie dazu den Befehl kubectl describe pod gcsfuse-test aus. Weitere Informationen finden Sie auf GitHub unter Fehlerbehebung.

  5. Nachdem der Pod ausgeführt wird, können Sie sein Dateisystem untersuchen:

    kubectl exec -it gcsfuse-test -- find /data
    

Bereinigen

Löschen Sie den Pod, damit Ihrem Google Cloud -Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden:

kubectl delete pod gcsfuse-test

Nächste Schritte