Guida rapida: accedi ai bucket Cloud Storage con il driver CSI FUSE


In questa guida rapida, scopri come accedere ai bucket Cloud Storage dall'interno di un'applicazione Google Kubernetes Engine (GKE) come se fossero file system locali. Questa guida rapida fornisce un manifest Kubernetes di esempio per creare un pod che monta il bucket e mostra come interagire con i contenuti del bucket utilizzando il file system del pod.

Questa pagina è rivolta a sviluppatori, specialisti di archiviazione e chiunque altro voglia eseguire il provisioning e gestire le risorse cloud e implementare i carichi di lavoro. Per scoprire di più sui ruoli comuni, consulta Ruoli utente e attività comuni di GKE Enterprise.

Prima di leggere questa pagina, assicurati di avere familiarità con Kubernetes e con il driver CSI di Cloud Storage FUSE.

Questa guida rapida utilizza la modalità GKE Autopilot. Se vuoi utilizzare la modalità Standard, consulta Configurare il driver CSI di Cloud Storage FUSE per GKE.

Prima di iniziare

  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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  7. Enable the GKE and Cloud Storage APIs.

    Enable the APIs

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

    Grant the roles

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

      Vai a IAM
    2. Seleziona il progetto.
    3. Fai clic su Concedi l'accesso.
    4. Nel campo Nuove entità, inserisci il tuo identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.

    5. Nell'elenco Seleziona un ruolo, seleziona un ruolo.
    6. Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.
    7. Fai clic su Salva.

Crea un cluster GKE Autopilot

  1. Nella console Google Cloud , vai alla pagina Cluster di GKE.

    Vai a Cluster

  2. Fai clic su Crea.

  3. Nella finestra di dialogo Crea cluster, fai clic su Configura per la modalità Autopilot.

  4. In Impostazioni di base del cluster:

    1. Nel campo Nome, inserisci un nome per il cluster.

    2. Mantieni i valori predefiniti per le altre impostazioni.

  5. Per creare il cluster, fai clic su Crea.

Crea un bucket Cloud Storage

  1. Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.

    Vai a Bucket

  2. Fai clic su Crea.

  3. Nella sezione Inizia della pagina Crea un bucket:

    1. Inserisci un nome univoco globale per il bucket che soddisfi i requisiti di denominazione dei bucket.

    2. Mantieni i valori predefiniti per le altre impostazioni.

  4. Per creare il bucket, fai clic su Crea.

Carica oggetti nel bucket Cloud Storage

  1. Nella console Google Cloud , vai alla pagina Bucket in Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket che hai appena creato.

  3. Nella scheda Oggetti del bucket, esegui una delle seguenti operazioni:

    • Trascina i file dal desktop o dal file manager nel riquadro principale della Google Cloud console.

    • Fai clic sul pulsante Carica file. Nella finestra di dialogo visualizzata, seleziona i file che vuoi caricare e fai clic su Apri.

Configurare l'accesso al bucket Cloud Storage

Per assicurarti che il bucket Cloud Storage sia accessibile dal cluster GKE, segui i passaggi descritti in Configurare l'accesso ai bucket Cloud Storage.

Esegui il deployment di un pod per accedere al bucket Cloud Storage utilizzando FUSE

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

    Activate Cloud Shell

    Una sessione di Cloud Shell si apre in un frame nella console.

  2. Per impostare il progetto predefinito, utilizza l'ID del progetto in cui vuoi eseguire il deployment del pod:

    gcloud config set project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID progetto.

  3. Crea e applica il manifest del pod con i seguenti contenuti:

    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
    
    • Sostituisci BUCKET_NAME con il nome del tuo bucket Cloud Storage.
    • Se utilizzi uno spazio dei nomi o un account di servizio diverso, sostituisci i campi namespace e serviceAccountName di conseguenza.

    Il contenuto di questo manifest avvia un pod chiamato gcsfuse-test che monta il bucket sul percorso /data.

  4. Verifica che il pod sia in esecuzione:

    kubectl get pod gcsfuse-test
    

    L'output è simile al seguente:

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

    Il driver CSI di Cloud Storage FUSE collega un container sidecar nel pod per gestire le interazioni con Cloud Storage.

    Se il pod non è in esecuzione, puoi recuperare i log eventi per diagnosticare il problema eseguendo il comando kubectl describe pod gcsfuse-test. Per maggiori informazioni, consulta la sezione Risoluzione dei problemi su GitHub.

  5. Una volta in esecuzione, puoi esplorare il file system del pod:

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

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il pod:

kubectl delete pod gcsfuse-test

Passaggi successivi