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 können, als wären sie lokale Dateisysteme. In dieser Kurzanleitung finden Sie ein Beispiel für ein Kubernetes-Manifest zum Erstellen eines Pods, in dem der Bucket bereitgestellt wird. Außerdem wird gezeigt, wie Sie über das Dateisystem des Pods auf den Inhalt des Buckets zugreifen.

Diese Seite richtet sich an Entwickler, Speicherexperten und alle anderen, die Cloud-Ressourcen bereitstellen und verwalten und Arbeitslasten bereitstellen möchten. Weitere Informationen zu gängigen Rollen finden Sie unter Häufig verwendete GKE-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 Abschnitt CSI-Treiber für Cloud Storage FUSE für GKE einrichten.

Hinweise

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the GKE and Cloud Storage APIs.

    Enable the APIs

  4. Make sure that you have the following role or roles on the project: Kubernetes Engine Admin, Storage Admin, Service Account User

    Check for the roles

    1. In the Trusted 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.

    Grant the roles

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

      Zu IAM
    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 Kennung eines Nutzers in einem Workforce Identity-Pool. Weitere Informationen finden Sie unter Workforce-Pool-Nutzer in IAM-Richtlinien darstellen oder Ihren Administrator.

    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.
    8. Erstellen Sie einen GKE Autopilot-Cluster

      1. Rufen Sie in der Trusted Cloud Console die Seite Autopilot-Cluster erstellen auf.

        Zur Seite „Autopilot-Cluster erstellen“

      2. 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.

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

      Cloud Storage-Bucket erstellen

      1. Wechseln Sie in der Trusted Cloud Console unter „Cloud Storage“ zur Seite 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 Trusted Cloud Console unter „Cloud Storage“ zur Seite 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 im Tab Objekte für den Bucket einen der folgenden Schritte aus:

        • Ziehen Sie Dateien von Ihrem Desktop oder Dateimanager in den Hauptbereich der Trusted Cloud -Konsole.

        • 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

      Folgen Sie der Anleitung unter Zugriff auf Cloud Storage-Buckets konfigurieren, um sicherzustellen, dass Ihr GKE-Cluster auf Ihren Cloud Storage-Bucket zugreifen kann.

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

      1. In the Trusted 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 das 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 auf seinem Pfad /data bereitstellt.

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

        kubectl get pod gcsfuse-test
        

        Die Ausgabe sieht 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 wurde, können Sie sein Dateisystem durchsuchen:

        kubectl exec -it gcsfuse-test -- find /data
        
      6. Bereinigen

        Wenn Sie vermeiden möchten, dass Ihrem Trusted Cloud by S3NS Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden, löschen Sie den Pod:

        kubectl delete pod gcsfuse-test
        

        Nächste Schritte