Activa instancias de Filestore en Cloud Workstations

Las estaciones de trabajo en la nube pueden activar instancias del sistema de archivos de red (NFS) de Filestore que se encuentran en la misma red de VPC. Varias instancias de Cloud Workstations pueden acceder a la instancia de Filestore al mismo tiempo.

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

Antes de comenzar

Crea tu proyecto

  1. En tu proyecto de estaciones de trabajo, asegúrate de que habilitaste las APIs de Filestore y Cloud Workstations.

    Habilita 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, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto de estaciones de trabajo:

  • Si eres el administrador de Cloud Workstations, pídele a tu administrador que te otorgue el siguiente rol: Administrador de Cloud Workstations (roles/workstations.admin).
  • Si eres el administrador de Filestore, pídele al administrador que te otorgue el siguiente rol: Editor de Filestore (roles/file.editor).

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Crea una instancia de Filestore

Si aún no creaste una instancia de Filestore, crea una con el siguiente comando filestore instances create de la CLI de gcloud: Para obtener información sobre los nombres, consulta Asigna un nombre a tu instancia de Filestore y Asigna un nombre al archivo compartido.

  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

Reemplaza lo siguiente:

  • INSTANCE_ID: Es el ID que identifica de manera única tu instancia de Filestore.
  • FILE_SHARE_NAME: Es el nombre del directorio que se entrega desde la instancia de Filestore, por ejemplo, vol1.
  • NETWORK_NAME: Es 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: Es la región de tu instancia de Filestore. Debe coincidir con la región del clúster de Workstation.
  • WORKSTATIONS_PROJECT_ID: Es el ID del proyecto de las estaciones de trabajo.

Cómo obtener la dirección IP de la instancia de Filestore

Después de crear la instancia de Filestore, obtén su dirección IP con el comando filestore instances describe de la CLI de gcloud:

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

Reemplaza lo siguiente:

  • INSTANCE_ID: Es el ID que identifica de manera única tu instancia de Filestore.
  • LOCATION: Es la región de tu instancia de Filestore. Debe coincidir con la región del clúster de Workstation.
  • WORKSTATIONS_PROJECT_ID: Es el ID del proyecto de las estaciones de trabajo.

El comando imprime la dirección IP en el siguiente formato:

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

Toma nota de FILESTORE_IP_ADDRESS porque la necesitarás en pasos posteriores.

Crear clúster de estación de trabajo

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

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

Reemplaza lo siguiente:

  • WORKSTATIONS_CLUSTER_NAME: Es el nombre del clúster de estaciones de trabajo.
  • NETWORK_NAME: Es 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: Es 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: Es el ID del proyecto de las estaciones de trabajo.

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

Si aún no creaste una configuración de Cloud Workstations ni una instancia de estación de trabajo, consulta Crea una configuración de estación de trabajo y Crea una estación de trabajo.

Activa 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 activar 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

Reemplaza lo siguiente:

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

Después de que el comando mount se ejecute correctamente, verás el contenido de la instancia de Filestore en la ruta de acceso de uso compartido de archivos.

Para obtener más información sobre cómo activar instancias de Filestore, consulta Activa los archivos compartidos en clientes de Compute Engine.

Crea una imagen de contenedor personalizada para el automontaje 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 durante el inicio.

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

Reemplaza lo siguiente:

  • FILE_SHARE_NAME: Es el nombre del directorio que se entrega desde la instancia de Filestore, por ejemplo, vol1.
  • FILESTORE_IP_ADDRESS: Es 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 Cómo personalizar imágenes de contenedores.