Cloud Workstations puede activar Filestore Instancias de sistema de archivos de red (NFS) que están en la misma VPC en cada red. 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
Crear tu proyecto
En tu proyecto de estaciones de trabajo, asegúrate de haber habilitado el API de Filestore y de Cloud Workstations.
Asegúrate de instalar e inicializar la CLI de
gcloud
. Para inicializar la CLI degcloud
, ejecuta el siguiente comando:gcloud init
Roles obligatorios
A fin de obtener los permisos que necesitas para crear y actualizar estaciones de trabajo, solicita a tu administrador que te otorgue el 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 estaciones de trabajo.
Obtén la dirección IP de la instancia de Filestore
Después de crear la instancia de Filestore, obtén su dirección IP con la
describir las instancias de Filestore
Comando gcloud
de la CLI:
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 la instancia de Filestore. Debe coincidir con la región del clúster de la estación de trabajo.WORKSTATIONS_PROJECT_ID
: Es el ID de las estaciones de trabajo. en un proyecto final.
El comando imprime la dirección IP en el siguiente formato:
...
networks:
- connectMode: DIRECT_PEERING
ipAddresses:
- FILESTORE_IP_ADDRESS
...
Toma nota del FILESTORE_IP_ADDRESS
, ya que lo necesitas
en los pasos siguientes.
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 de la estación de trabajo. clúster.NETWORK_NAME
: Es el nombre de la red de VPC a la que se conectan las instancias de Cloud Workstations. Debe coincidir con el de la instancia de Filestore, por ejemplo,default
.LOCATION
: Es el nombre de la región de tu clúster de estaciones de trabajo. Integra debe coincidir con la región de la instancia de Filestore.WORKSTATIONS_PROJECT_ID
: Es el ID del proyecto de 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
Luego 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.
Una vez que el comando mount
se ejecute de forma correcta, verás el
Contenido de la instancia de Filestore en la ruta de acceso de archivos compartidos.
Para obtener más información sobre la activación de instancias de Filestore, consulta Activa los archivos compartidos en clientes de Compute Engine.
Crea una imagen de contenedor personalizada para la activación automática de Filestore
Puedes usar el siguiente Dockerfile para crear una imagen de contenedor personalizada que activa automáticamente una instancia de Filestore en Cloud Workstations al 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.