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. L'istanza Filestore può essere utilizzata da più istanze di Cloud Workstations contemporaneamente.

Per ulteriori informazioni 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 di workstation, assicurati di aver abilitato l'API Filestore e le API Cloud Workstations.

    Abilita le API di Filestore e Cloud Workstations

  2. Assicurati di installare e inizializzare l'interfaccia a riga di comando gcloud. Per inizializzare l'interfaccia a riga di comando 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 all'amministratore di concederti il seguente ruolo: Cloud Workstations Admin (roles/workstations.admin).
  • Se sei l'amministratore di Filestore, chiedi all'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 CLI gcloud filestore instances create che segue. Per informazioni sulla denominazione, consulta Assegnazione di un nome all'istanza Filestore e Assegnazione di un nome alla 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 la tua istanza Filestore.
  • FILE_SHARE_NAME: il nome della directory fornita 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 di workstation.
  • WORKSTATIONS_PROJECT_ID: l'ID del progetto delle workstation.

Ottieni l'indirizzo IP dell'istanza Filestore

Dopo aver creato l'istanza Filestore, ottieni il suo indirizzo IP utilizzando il comando filestore instances describe dell'interfaccia a riga di comando 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 la tua istanza Filestore.
  • LOCATION: la regione dell'istanza Filestore. Deve corrispondere alla regione del cluster di workstation.
  • WORKSTATIONS_PROJECT_ID: l'ID del progetto delle 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 dell'interfaccia a riga di comando gcloud 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 di 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 workstation.

Crea una configurazione di workstation e una workstation

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

Monta un'istanza Filestore in una workstation

Dopo aver avviato l'istanza di Cloud Workstations, vai a una finestra del terminale ed esegui i seguenti comandi per montare un'istanza di 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 fornita dall'istanza Filestore, ad esempio vol1.
  • FILESTORE_IP_ADDRESS: l'indirizzo IP della tua istanza Filestore.

Dopo che il comando mount è stato eseguito correttamente, vedrai i contenuti dell'istanza Filestore nel percorso della condivisione file.

Per ulteriori informazioni sul montaggio delle istanze Filestore, consulta 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 fornita dall'istanza Filestore, ad esempio vol1.
  • FILESTORE_IP_ADDRESS: l'indirizzo IP della tua istanza Filestore.

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