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

In questa guida rapida, imparerai ad accedere ai bucket Cloud Storage da 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 il deployment dei carichi di lavoro. Per saperne di più sui ruoli comuni, consulta Ruoli e attività utente GKE comuni.

Prima di leggere questa pagina, assicurati di conoscere Kubernetes e 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. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the GKE and Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Assicurati di avere il seguente ruolo o i seguenti ruoli nel progetto: Kubernetes Engine Admin, Storage Admin, Service Account User

    Controlla i ruoli

    1. Nella Cloud de Confiance console vai alla pagina IAM.

      Vai a IAM
    2. Seleziona il progetto.
    3. Nella colonna Entità, trova tutte le righe che identificano te o un gruppo di cui fai parte. Per scoprire i gruppi di cui fai parte, contatta l' amministratore.

    4. Per tutte le righe che ti specificano o ti includono, controlla la colonna Ruolo per verificare se l'elenco dei ruoli include i ruoli richiesti.

    Concedi i ruoli

    1. Nella Cloud de Confiance console vai alla pagina IAM.

      Vai a IAM
    2. Seleziona il progetto.
    3. Fai clic su Concedi l'accesso.
    4. Nel campo Nuove entità, inserisci il tuo identificatore dell'utente. In genere si tratta dell'identificatore di un utente in un pool di identità della forza lavoro. Per maggiori dettagli, consulta Rappresenta gli utenti del pool di forza lavoro nelle policy IAM o contatta l'amministratore.

    5. Fai clic su Seleziona un ruolo, quindi cerca il 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 Cloud de Confiance console, vai alla pagina Crea un cluster Autopilot.

    Vai a Crea un cluster Autopilot

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

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

Crea un bucket Cloud Storage

  1. Nella Cloud de Confiance console, 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 a livello 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 Cloud de Confiance console, 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 gestore di file nel riquadro principale della Cloud de Confiance console.

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

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

Configura Cloud Shell

Nella Cloud de Confiance console, attiva Cloud Shell.

Attiva Cloud Shell

Viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. L'inizializzazione della sessione può richiedere alcuni secondi.

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

  1. Imposta il progetto predefinito in cui vuoi eseguire il deployment del pod:

    gcloud config set project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID progetto.

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

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

  3. 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 degli eventi per diagnosticare il problema eseguendo il comando kubectl describe pod gcsfuse-test. Per ulteriori informazioni, consulta Risoluzione dei problemi su GitHub.

  4. Una volta che il pod è in esecuzione, puoi esplorare il relativo file system:

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

Libera spazio

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

kubectl delete pod gcsfuse-test

Passaggi successivi