Montar instancias de Filestore en Cloud Workstations

Cloud Workstations puede montar instancias de Filestore y del sistema de archivos de red (NFS) que estén en la misma red VPC. Se puede acceder a la instancia de Filestore desde varias instancias de Cloud Workstations al mismo tiempo.

Para obtener más información sobre Filestore, consulta la documentación de Filestore.

Antes de empezar

Antes de empezar, crea tu proyecto y configura los roles de gestión de identidades y accesos necesarios.

Crear el proyecto

  1. En tu proyecto de estaciones de trabajo, asegúrate de que has habilitado la API Filestore y las APIs Cloud Workstations.

    Habilitar las APIs de Filestore y Cloud Workstations

  2. Asegúrate de instalar e inicializar la CLI de gcloud. Para inicializar la CLI de gcloud, ejecuta el siguiente comando:

    gcloud init
    

Roles obligatorios

Para obtener los permisos que necesitas para crear y actualizar estaciones de trabajo, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto de estaciones de trabajo:

  • Si eres el administrador de Cloud Workstations, pide a tu administrador que te asigne el siguiente rol: Administrador de Cloud Workstations (roles/workstations.admin).
  • Si tienes el rol Administrador de Filestore, pide a tu administrador que te asigne el siguiente rol: Editor de Filestore (roles/file.editor).

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Crear una instancia de Filestore

Si aún no has creado una instancia de Filestore, crea una con el comando gcloud CLI filestore instances create que se muestra a continuación. Para obtener información sobre los nombres, consulta Dar nombre a una instancia de Filestore y Dar nombre al recurso compartido de archivos.

  gcloud filestore instances create INSTANCE_ID \
    --file-share=name=FILE_SHARE_NAME,capacity=1TiB \
    --tier=ENTERPRISE \
    --network=name=NETWORK_NAME \
    --region=LOCATION \
    --project WORKSTATIONS_PROJECT_ID

Haz los cambios siguientes:

  • INSTANCE_ID: el ID para identificar de forma única tu instancia de Filestore.
  • FILE_SHARE_NAME: nombre del directorio que se sirve desde la instancia de Filestore (por ejemplo, vol1).
  • NETWORK_NAME: el nombre de la red de VPC a la que está conectada la instancia. Debe coincidir con la red del clúster de Cloud Workstations. Por ejemplo, default.
  • LOCATION: la región de tu instancia de Filestore. Debe coincidir con la región del clúster de estaciones de trabajo.
  • WORKSTATIONS_PROJECT_ID: el ID del proyecto de tu estación de trabajo.

Obtener la dirección IP de una instancia de Filestore

Una vez creada la instancia de Filestore, obtén su dirección IP con el comando de la CLI filestore instances describe gcloud:

  gcloud filestore instances describe INSTANCE_ID \
    --region=LOCATION \
    --project WORKSTATIONS_PROJECT_ID

Haz los cambios siguientes:

  • INSTANCE_ID: el ID para identificar de forma única tu instancia de Filestore.
  • LOCATION: la región de tu instancia de Filestore. Debe coincidir con la región del clúster de estaciones de trabajo.
  • WORKSTATIONS_PROJECT_ID: el ID del proyecto de tu estación de trabajo.

El comando muestra la dirección IP con el siguiente formato:

...
networks:
- connectMode: DIRECT_PEERING
  ipAddresses:
  - FILESTORE_IP_ADDRESS
...

Anota el FILESTORE_IP_ADDRESS, ya que lo necesitarás en los pasos siguientes.

Crear un clúster de estaciones de trabajo

Si aún no has creado un clúster de estaciones de trabajo, crea uno con el comando gcloud CLI clusters create:

gcloud workstations clusters create \
    WORKSTATIONS_CLUSTER_NAME \
    --network=NETWORK_NAME \
    --region=LOCATION \
    --project=WORKSTATIONS_PROJECT_ID

Haz los cambios siguientes:

  • WORKSTATIONS_CLUSTER_NAME: el nombre del clúster de estaciones de trabajo.
  • NETWORK_NAME: el nombre de la red de VPC a la que están conectadas las instancias de Cloud Workstations. Debe coincidir con la red de la instancia de Filestore (por ejemplo, default).
  • LOCATION: el nombre de la región de tu clúster de estaciones de trabajo. Debe coincidir con la región de la instancia de Filestore.
  • WORKSTATIONS_PROJECT_ID: el ID del proyecto de tu estación de trabajo.

Crear una configuración de estación de trabajo y una estación de trabajo

Si aún no has creado una configuración de Cloud Workstations y una instancia de estación de trabajo, consulta Crear una configuración de estación de trabajo y Crear una estación de trabajo.

Montar una instancia de Filestore en una estación de trabajo

Después de iniciar la instancia de Cloud Workstations, ve a una ventana de terminal y ejecuta los siguientes comandos para montar una instancia de Filestore:

sudo rpcbind
mkdir -p FILE_SHARE_NAME
sudo mount -o rw,intr FILESTORE_IP_ADDRESS:/FILE_SHARE_NAME FILE_SHARE_NAME

Haz los cambios siguientes:

  • FILE_SHARE_NAME: nombre del directorio que se sirve desde la instancia de Filestore (por ejemplo, vol1).
  • FILESTORE_IP_ADDRESS: la dirección IP de tu instancia de Filestore.

Una vez que el comando mount se haya ejecutado correctamente, verás el contenido de la instancia de Filestore en la ruta del recurso compartido de archivos.

Para obtener más información sobre cómo activar instancias de Filestore, consulta el artículo Activar sistemas de archivos compartidos en clientes de Compute Engine.

Crear una imagen de contenedor personalizada para el montaje automático de Filestore

Puedes usar el siguiente Dockerfile para crear una imagen de contenedor personalizada que monte una instancia de Filestore en Cloud Workstations automáticamente al iniciarse.

FROM us-central1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest

RUN echo "#!/bin/bash\n\
sudo rpcbind\n\
sudo mkdir -p /home/user/FILE_SHARE_NAME\n\
sudo mount -o rw,intr FILESTORE_IP_ADDRESS:/FILE_SHARE_NAME /home/user/FILE_SHARE_NAME" | sudo tee -a /etc/workstation-startup.d/011_mount-filestore.sh

RUN sudo chmod +x /etc/workstation-startup.d/011_mount-filestore.sh

Haz los cambios siguientes:

  • FILE_SHARE_NAME: nombre del directorio que se sirve desde la instancia de Filestore (por ejemplo, vol1).
  • FILESTORE_IP_ADDRESS: la dirección IP de tu instancia de Filestore.

Para obtener más información sobre cómo crear una imagen de contenedor personalizada para Cloud Workstations, consulta Personalizar imágenes de contenedor.