Montar instâncias do Filestore nos Cloud Workstations

Cloud Workstations podem ativar instâncias do sistema de arquivos de rede (NFS) do Filestore que estão na mesma rede VPC. A instância do Filestore pode ser acessada por várias instâncias do Cloud Workstations ao mesmo tempo.

Para mais informações sobre o Filestore, consulte a documentação do Filestore.

Antes de começar

Antes de começar, crie seu projeto e configure os papéis necessários do IAM.

Criar seu projeto

  1. No projeto de estações de trabalho, verifique se você ativou a API Filestore e Cloud Workstations.

    Ativar as APIs Filestore e Cloud Workstations

  2. Instale e inicialize a CLI gcloud. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
    

Funções exigidas

Para receber as permissões necessárias para criar e atualizar estações de trabalho, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto de estações de trabalho:

  • Se você for o administrador do Cloud Workstations, peça ao administrador para conceder a você o seguinte papel: Administrador do Cloud Workstations (roles/workstations.admin).
  • Se você for o Administrador do Filestore, peça ao administrador para conceder a você o seguinte papel: Editor do Filestore (roles/file.editor).

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Criar uma instância do Filestore

Se você ainda não tiver criado uma instância do Filestore, use o comando filestore instances create da CLI gcloud a seguir. Para informações sobre nomenclatura, consulte Como nomear sua instância do Filestore e Como nomear o compartilhamento de arquivos.

  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

Substitua:

  • INSTANCE_ID: o ID que identifica exclusivamente sua instância do Filestore.
  • FILE_SHARE_NAME: o nome do diretório veiculado pela instância do Filestore. Por exemplo, vol1.
  • NETWORK_NAME: o nome da rede VPC a que a instância está conectada. Ele precisa corresponder à rede do cluster do Cloud Workstations, por exemplo, default.
  • LOCATION: a região da instância do Filestore. Ela precisa corresponder à região do cluster da estação de trabalho.
  • WORKSTATIONS_PROJECT_ID: o ID do projeto das suas estações de trabalho.

Receber o endereço IP da instância do Filestore

Depois que a instância do Filestore for criada, receba o endereço IP dela usando o comando da CLI filestore instances describe gcloud:

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

Substitua:

  • INSTANCE_ID: o ID que identifica exclusivamente sua instância do Filestore.
  • LOCATION: a região da instância do Filestore. Ela precisa corresponder à região do cluster da estação de trabalho.
  • WORKSTATIONS_PROJECT_ID: o ID do projeto das suas estações de trabalho.

O comando imprime o endereço IP no seguinte formato:

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

Anote o FILESTORE_IP_ADDRESS, porque você vai precisar dele nas etapas seguintes.

Criar cluster de estações de trabalho

Se você ainda não criou um cluster de estação de trabalho, crie um usando o comando clusters create da CLI gcloud:

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

Substitua:

  • WORKSTATIONS_CLUSTER_NAME: o nome do cluster da estação de trabalho.
  • NETWORK_NAME: o nome da rede VPC a que as instâncias do Cloud Workstations estão conectadas. Ele precisa corresponder à rede da instância do Filestore, por exemplo, default.
  • LOCATION: o nome da região do cluster de estação de trabalho. Ela precisa corresponder à região da instância do Filestore.
  • WORKSTATIONS_PROJECT_ID: o ID do projeto das suas estações de trabalho.

Criar uma configuração e uma estação de trabalho

Se você ainda não criou uma configuração do Cloud Workstations e uma instância de estação de trabalho, consulte Criar uma configuração de estação de trabalho e Criar uma estação de trabalho.

Montar uma instância do Filestore em uma estação de trabalho

Depois de iniciar a instância do Cloud Workstations, acesse uma janela de terminal e execute os seguintes comandos para montar uma instância do Filestore:

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

Substitua:

  • FILE_SHARE_NAME: o nome do diretório veiculado pela instância do Filestore. Por exemplo, vol1.
  • FILESTORE_IP_ADDRESS: o endereço IP da sua instância do Filestore.

Depois que o comando mount for concluído, você verá o conteúdo da instância do Filestore no caminho do compartilhamento de arquivos.

Para mais informações sobre como montar instâncias do Filestore, consulte Como montar compartilhamentos de arquivos em clientes do Compute Engine.

Criar uma imagem de contêiner personalizada para montagem automática do Filestore

Use o Dockerfile a seguir para criar uma imagem de contêiner personalizada que monte uma instância do Filestore no Cloud Workstations automaticamente na inicialização.

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

Substitua:

  • FILE_SHARE_NAME: o nome do diretório veiculado pela instância do Filestore. Por exemplo, vol1.
  • FILESTORE_IP_ADDRESS: o endereço IP da sua instância do Filestore.

Para mais informações sobre como criar uma imagem de contêiner personalizada para o Cloud Workstations, consulte Personalizar imagens de contêiner.