Montare le istanze Filestore in Cloud Workstations

Cloud Workstations può montare istanze Network File System (NFS) di Filestore che si trovano nella stessa rete VPC. È possibile accedere all'istanza Filestore da più istanze Cloud Workstations contemporaneamente.

Per saperne di più su Filestore, consulta la documentazione di Filestore.

Prima di iniziare

Prima di iniziare, crea il progetto e configura i ruoli IAM richiesti.

Creazione di un progetto

  1. Nel tuo progetto workstation, assicurati di aver abilitato le API Filestore e Cloud Workstations.

    Abilita le API Filestore e Cloud Workstations

  2. Assicurati di installare e inizializzare la gcloud CLI. Per inizializzare la CLI gcloud, esegui questo comando:

    gcloud init
    

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare e aggiornare le workstation, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto delle workstation:

  • Se sei l'amministratore di Cloud Workstations, chiedi al tuo amministratore di concederti il seguente ruolo: Amministratore di Cloud Workstations (roles/workstations.admin).
  • Se sei l'amministratore Filestore, chiedi al tuo amministratore di concederti il seguente ruolo: Editor Filestore (roles/file.editor).

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea un'istanza di Filestore

Se non hai ancora creato un'istanza Filestore, creane una utilizzando il comando gcloud CLI filestore instances create che segue. Per informazioni sulla denominazione, vedi Denominazione dell'istanza Filestore e Denominazione della condivisione file.

  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

Sostituisci quanto segue:

  • INSTANCE_ID: l'ID per identificare in modo univoco l'istanza Filestore.
  • FILE_SHARE_NAME: il nome della directory pubblicata dall'istanza Filestore, ad esempio vol1.
  • NETWORK_NAME: il nome della rete VPC a cui è connessa l'istanza. Deve corrispondere alla rete del cluster Cloud Workstations, ad esempio default.
  • LOCATION: la regione dell'istanza Filestore. Deve corrispondere alla regione del cluster workstation.
  • WORKSTATIONS_PROJECT_ID: l'ID del progetto delle tue workstation.

Ottieni l'indirizzo IP dell'istanza Filestore

Dopo aver creato l'istanza Filestore, recupera il relativo indirizzo IP utilizzando il comando CLI filestore instances describe gcloud:

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

Sostituisci quanto segue:

  • INSTANCE_ID: l'ID per identificare in modo univoco l'istanza Filestore.
  • LOCATION: la regione dell'istanza Filestore. Deve corrispondere alla regione del cluster workstation.
  • WORKSTATIONS_PROJECT_ID: l'ID del progetto delle tue workstation.

Il comando stampa l'indirizzo IP nel seguente formato:

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

Prendi nota di FILESTORE_IP_ADDRESS perché ti servirà nei passaggi successivi.

Crea cluster di workstation

Se non hai ancora creato un cluster di workstation, creane uno utilizzando il comando gcloud CLI clusters create:

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

Sostituisci quanto segue:

  • WORKSTATIONS_CLUSTER_NAME: il nome del cluster di workstation.
  • NETWORK_NAME: il nome della rete VPC a cui sono connesse le istanze Cloud Workstations. Deve corrispondere alla rete dell'istanza Filestore, ad esempio default.
  • LOCATION: il nome della regione del cluster di workstation. Deve corrispondere alla regione dell'istanza Filestore.
  • WORKSTATIONS_PROJECT_ID: l'ID del progetto delle tue workstation.

Crea una configurazione della workstation e una workstation

Se non hai ancora creato una configurazione di Cloud Workstations e un'istanza workstation, consulta Creare una configurazione della workstation e Creare una workstation.

Monta un'istanza Filestore in una workstation

Dopo aver avviato l'istanza Cloud Workstations, vai a una finestra del terminale ed esegui i seguenti comandi per montare un'istanza Filestore:

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

Sostituisci quanto segue:

  • FILE_SHARE_NAME: il nome della directory pubblicata dall'istanza Filestore, ad esempio vol1.
  • FILESTORE_IP_ADDRESS: l'indirizzo IP dell'istanza Filestore.

Una volta eseguito correttamente il comando mount, vedrai i contenuti dell'istanza Filestore nel percorso di condivisione file.

Per ulteriori informazioni sul montaggio delle istanze Filestore, consulta la sezione Montaggio delle condivisioni file sui client Compute Engine.

Crea un'immagine container personalizzata per il montaggio automatico di Filestore

Puoi utilizzare il seguente Dockerfile per creare un'immagine container personalizzata che monta automaticamente un'istanza Filestore in Cloud Workstations all'avvio.

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

Sostituisci quanto segue:

  • FILE_SHARE_NAME: il nome della directory pubblicata dall'istanza Filestore, ad esempio vol1.
  • FILESTORE_IP_ADDRESS: l'indirizzo IP dell'istanza Filestore.

Per saperne di più sulla creazione di un'immagine container personalizzata per Cloud Workstations, vedi Personalizzare le immagini container.