Monte instâncias do Filestore em estações de trabalho na nuvem

As estações de trabalho na nuvem podem montar instâncias do sistema de ficheiros em rede (NFS) do Filestore que estão na mesma rede da VPC. A instância do Filestore pode ser acedida por várias instâncias do Cloud Workstations em simultâneo.

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

Antes de começar

Antes de começar, crie o seu projeto e configure as funções de IAM necessárias.

Crie o seu projeto

  1. No seu projeto de estações de trabalho, certifique-se de que ativou a API Filestore e as APIs Cloud Workstations.

    Ative as APIs Filestore e Cloud Workstations

  2. Certifique-se de que instala e inicializa a CLI gcloud. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
    

Funções necessárias

Para receber as autorizações de que precisa para criar e atualizar estações de trabalho, peça ao seu administrador que lhe conceda as seguintes funções da IAM no seu projeto de estações de trabalho:

  • Se for o administrador do Cloud Workstations, peça ao seu administrador que lhe conceda a seguinte função: Administrador do Cloud Workstations (roles/workstations.admin).
  • Se for o administrador do Filestore, peça ao seu administrador para lhe conceder a seguinte função: Editor do Filestore (roles/file.editor).

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Crie uma instância do Filestore

Se ainda não criou uma instância do Filestore, crie uma através do comando gcloud CLI filestore instances create que se segue. Para obter informações sobre a atribuição de nomes, consulte os artigos Atribuir um nome à instância do Filestore e Atribuir um nome à partilha de ficheiros.

  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 o seguinte:

  • INSTANCE_ID: o ID para identificar exclusivamente a sua instância do Filestore.
  • FILE_SHARE_NAME: o nome do diretório publicado a partir da instância do Filestore, por exemplo, vol1.
  • NETWORK_NAME: o nome da rede VPC à qual a instância está ligada. Deve corresponder à rede do cluster de estações de trabalho na nuvem, por exemplo, default.
  • LOCATION: a região da sua instância do Filestore. Deve corresponder à região do cluster da estação de trabalho.
  • WORKSTATIONS_PROJECT_ID: o ID do projeto das suas estações de trabalho.

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

Após a criação da instância do Filestore, obtenha o respetivo endereço IP através do comando CLI filestore instances describe:gcloud

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

Substitua o seguinte:

  • INSTANCE_ID: o ID para identificar exclusivamente a sua instância do Filestore.
  • LOCATION: a região da sua instância do Filestore. Deve 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
...

Tome nota do FILESTORE_IP_ADDRESS porque precisa deste nos passos seguintes.

Crie um cluster de estações de trabalho

Se ainda não criou um cluster de estações de trabalho, crie um através do comando gcloud CLI clusters create:

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

Substitua o seguinte:

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

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

Se ainda não criou uma configuração de estações de trabalho na nuvem e uma instância de estação de trabalho, consulte os artigos Criar uma configuração de estação de trabalho e Criar uma estação de trabalho.

Monte uma instância do Filestore numa estação de trabalho

Depois de iniciar a instância do Cloud Workstations, aceda a 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 o seguinte:

  • FILE_SHARE_NAME: o nome do diretório publicado a partir da instância do Filestore, por exemplo, vol1.
  • FILESTORE_IP_ADDRESS: o endereço IP da sua instância do Filestore.

Depois de o comando mount ser bem-sucedido, vê o conteúdo da instância do Filestore no caminho da partilha de ficheiros.

Para mais informações sobre a montagem de instâncias do Filestore, consulte o artigo Montar partilhas de ficheiros em clientes do Compute Engine.

Crie uma imagem de contentor personalizada para a montagem automática do Filestore

Pode usar o Dockerfile seguinte para criar uma imagem de contentor personalizada que monte automaticamente uma instância do Filestore nas Estações de trabalho na nuvem no arranque.

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 o seguinte:

  • FILE_SHARE_NAME: o nome do diretório publicado a partir da 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 contentor personalizada para o Cloud Workstations, consulte o artigo Personalize imagens de contentores.