Guía de inicio rápido: Accede a los buckets de Cloud Storage con el controlador de CSI de FUSE

En esta guía de inicio rápido, aprenderás a acceder a buckets de Cloud Storage desde una aplicación de Google Kubernetes Engine (GKE) como si fueran sistemas de archivos locales. En este inicio rápido, se proporciona un manifiesto de Kubernetes de ejemplo para crear un Pod que active el bucket y se muestra cómo interactuar con el contenido del bucket a través del sistema de archivos del Pod.

Esta página está dirigida a desarrolladores, especialistas en almacenamiento y cualquier otra persona que desee aprovisionar y administrar recursos de la nube, y también implementar cargas de trabajo. Para obtener más información sobre los roles comunes, consulta Roles y tareas comunes del usuario de GKE.

Antes de leer esta página, asegúrate de estar familiarizado con Kubernetes y el controlador CSI de Cloud Storage FUSE.

En esta guía de inicio rápido, se usa el modo GKE Autopilot. Si quieres usar el modo estándar, consulta Configura el controlador de CSI de Cloud Storage FUSE para GKE.

Antes de comenzar

  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. Asegúrate de tener los siguientes roles en el proyecto: Administrador de Kubernetes Engine, Administrador de almacenamiento, Usuario de cuenta de servicio

    Verifica los roles

    1. En la consola de Cloud de Confiance , dirígete a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. En la columna Principal, busca todas las filas que te identifiquen a ti o a un grupo en el que se te incluya. Para saber en qué grupos estás incluido, comunícate con tu administrador.

    4. Para todas las filas en las que se te especifique o se te incluya, verifica la columna Rol para ver si la lista de roles incluye los roles necesarios.

    Otorga los roles

    1. En la consola de Cloud de Confiance , dirígete a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Otorgar acceso.
    4. En el campo Principales nuevas, ingresa tu identificador de usuario. Este suele ser el identificador de un usuario que pertenece a un grupo de identidades de personal. Para obtener más información, consulta Representa a los usuarios del grupo de personal en políticas de IAM o comunícate con el administrador.

    5. Haz clic en Seleccionar un rol y, luego, busca el rol.
    6. Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega uno más.
    7. Haz clic en Guardar.

Crea un clúster de GKE Autopilot

  1. En la consola de Cloud de Confiance , ve a la página Crea un clúster de Autopilot.

    Ir a Crea un clúster de Autopilot

  2. En Conceptos básicos del clúster, sigue estos pasos:

    1. En el campo Nombre, ingresa un nombre para el clúster.

    2. Mantén los valores predeterminados para el resto de la configuración.

  3. Para crear el clúster, haz clic en Crear.

Cree un bucket de Cloud Storage

  1. En la consola de Cloud de Confiance , ve a la página Buckets de Cloud Storage.

    Ir a Buckets

  2. Haz clic en Crear.

  3. En la página Crear un bucket, en la sección Primeros pasos, haz lo siguiente:

    1. Ingresa un nombre único a nivel global para tu bucket que cumpla con los requisitos de nomenclatura de buckets.

    2. Mantén los valores predeterminados para el resto de la configuración.

  4. Para crear el bucket, haz clic en Crear.

Sube objetos a tu bucket de Cloud Storage

  1. En la consola de Cloud de Confiance , ve a la página Buckets de Cloud Storage.

    Ir a Buckets

  2. En la lista de buckets, haz clic en el nombre del bucket que acabas de crear.

  3. En la pestaña Objetos del bucket, realiza una de las siguientes acciones:

    • Arrastra archivos desde tu escritorio o administrador de archivos al panel principal en la consola de Cloud de Confiance .

    • Haz clic en el botón Subir archivos. En el diálogo que aparece, selecciona los archivos que deseas subir y haz clic en Abrir.

Configura el acceso a tu bucket de Cloud Storage

Para asegurarte de que tu clúster de GKE pueda acceder a tu bucket de Cloud Storage, sigue los pasos que se indican en Configura el acceso a los buckets de Cloud Storage.

Configura Cloud Shell

En la consola de Cloud de Confiance , activa Cloud Shell.

Activa Cloud Shell

Se inicia una sesión de Cloud Shell y se muestra una ventana de línea de comandos. La sesión puede tardar unos segundos en inicializarse.

Implementa un Pod para acceder a tu bucket de Cloud Storage con FUSE

  1. Configura el proyecto predeterminado en el que deseas implementar el Pod:

    gcloud config set project PROJECT_ID
    

    Reemplaza PROJECT_ID con el ID del proyecto.

  2. Crea y aplica el manifiesto del Pod con el siguiente contenido:

    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
    
    • Reemplaza BUCKET_NAME por el nombre de tu bucket de Cloud Storage.
    • Si usas un espacio de nombres o una cuenta de servicio diferentes, reemplaza los campos namespace y serviceAccountName según corresponda.

    El contenido de este manifiesto inicia un Pod llamado gcsfuse-test que activa el bucket en su ruta de acceso /data.

  3. Verifica que el Pod se esté ejecutando.

    kubectl get pod gcsfuse-test
    

    El resultado es similar a lo siguiente:

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

    El controlador de CSI de Cloud Storage FUSE adjunta un contenedor sidecar en tu Pod para administrar las interacciones con Cloud Storage.

    Si el Pod no se está ejecutando, puedes recuperar los registros de eventos para ayudarte a diagnosticar el problema ejecutando el comando kubectl describe pod gcsfuse-test. Para obtener más información, consulta Solución de problemas en GitHub.

  4. Una vez que el Pod esté en ejecución, puedes explorar su sistema de archivos:

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

Realiza una limpieza

Para evitar que se apliquen cargos a tu Cloud de Confiance by S3NS cuenta por los recursos que usaste en este instructivo, borra el Pod:

kubectl delete pod gcsfuse-test

¿Qué sigue?