Filestore-Instanzen in Cloud Workstations bereitstellen

Cloud Workstations können Filestore-NFS-Instanzen (Network File System) bereitstellen, die sich im selben VPC-Netzwerk befinden. Auf die Filestore-Instanz kann gleichzeitig von mehreren Cloud Workstations-Instanzen zugegriffen werden.

Weitere Informationen zu Filestore finden Sie in der Filestore-Dokumentation.

Hinweise

Bevor Sie beginnen, erstellen Sie Ihr Projekt und richten Sie die erforderlichen IAM-Rollen ein.

Projekt erstellen

  1. Achten Sie darauf, dass in Ihrem Workstations-Projekt die Filestore API und die Cloud Workstations APIs aktiviert sind.

    Filestore API und Cloud Workstations API aktivieren

  2. Installieren und initialisieren Sie das gcloud CLI. Führen Sie den folgenden Befehl aus, um die gcloud-Befehlszeile zu initialisieren:

    gcloud init
    

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Workstations-Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Aktualisieren von Workstations benötigen:

  • Wenn Sie der Cloud Workstations-Administrator sind, bitten Sie Ihren Administrator, Ihnen die folgende Rolle zuzuweisen: Cloud Workstations-Administrator (roles/workstations.admin).
  • Wenn Sie der Filestore-Administrator sind, bitten Sie Ihren Administrator, Ihnen die folgende Rolle zuzuweisen: Filestore-Bearbeiter (roles/file.editor).

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Filestore-Instanz erstellen

Wenn Sie noch keine Filestore-Instanz erstellt haben, erstellen Sie eine mit dem gcloud CLI-Befehl filestore instances create, der unten folgt. Informationen zur Benennung finden Sie unter Filestore-Instanz benennen und Dateifreigabe benennen.

  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

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die ID zur eindeutigen Identifizierung Ihrer Filestore-Instanz.
  • FILE_SHARE_NAME: Der Name des Verzeichnisses, das von der Filestore-Instanz bereitgestellt wird, z. B. vol1.
  • NETWORK_NAME: der Name des VPC-Netzwerk, mit dem die Instanz verbunden ist. Sie muss mit dem Netzwerk des Cloud Workstations-Clusters übereinstimmen, z. B. default.
  • LOCATION: die Region Ihrer Filestore-Instanz. Sie sollte mit der Region des Workstation-Clusters übereinstimmen.
  • WORKSTATIONS_PROJECT_ID: die ID Ihres Workstations-Projekts.

IP-Adresse der Filestore-Instanz abrufen

Rufen Sie nach dem Erstellen der Filestore-Instanz ihre IP-Adresse mit dem filestore instances describe gcloud-CLI-Befehl ab:

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

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die ID zur eindeutigen Identifizierung Ihrer Filestore-Instanz.
  • LOCATION: die Region Ihrer Filestore-Instanz. Sie sollte mit der Region des Workstation-Clusters übereinstimmen.
  • WORKSTATIONS_PROJECT_ID: die ID Ihres Workstations-Projekts.

Der Befehl gibt die IP-Adresse im folgenden Format aus:

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

Notieren Sie sich die FILESTORE_IP_ADDRESS, da Sie sie in den folgenden Schritten benötigen.

Workstationcluster erstellen

Wenn Sie noch keinen Workstation-Cluster erstellt haben, erstellen Sie einen mit dem gcloud-CLI-Befehl clusters create:

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

Ersetzen Sie Folgendes:

  • WORKSTATIONS_CLUSTER_NAME: Der Name des Workstation-Clusters.
  • NETWORK_NAME: der Name des VPC-Netzwerk, mit dem die Cloud Workstations-Instanzen verbunden sind. Er sollte mit dem Netzwerk der Filestore-Instanz übereinstimmen, z. B. default.
  • LOCATION: Der Regionsname für Ihren Workstation-Cluster. Sie sollte mit der Region der Filestore-Instanz übereinstimmen.
  • WORKSTATIONS_PROJECT_ID: die ID Ihres Workstations-Projekts.

Workstationkonfiguration und Workstation erstellen

Wenn Sie noch keine Cloud Workstations-Konfiguration und keine Workstation-Instanz erstellt haben, lesen Sie die Abschnitte Workstationkonfiguration erstellen und Workstation erstellen.

Filestore-Instanz auf einer Workstation bereitstellen

Nachdem Sie die Cloud Workstations-Instanz gestartet haben, öffnen Sie ein Terminalfenster und führen Sie die folgenden Befehle aus, um eine Filestore-Instanz bereitzustellen:

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

Ersetzen Sie Folgendes:

  • FILE_SHARE_NAME: Der Name des Verzeichnisses, das von der Filestore-Instanz bereitgestellt wird, z. B. vol1.
  • FILESTORE_IP_ADDRESS: die IP-Adresse Ihrer Filestore-Instanz.

Nachdem der Befehl mount erfolgreich ausgeführt wurde, wird der Inhalt der Filestore-Instanz im Dateifreigabepfad angezeigt.

Weitere Informationen zum Bereitstellen von Filestore-Instanzen finden Sie unter Dateifreigaben auf Compute Engine-Clients bereitstellen.

Benutzerdefiniertes Container-Image für das automatische Mounten von Filestore erstellen

Mit dem folgenden Dockerfile können Sie ein benutzerdefiniertes Container-Image erstellen, das beim Start automatisch eine Filestore-Instanz in Cloud Workstations einbindet.

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

Ersetzen Sie Folgendes:

  • FILE_SHARE_NAME: Der Name des Verzeichnisses, das von der Filestore-Instanz bereitgestellt wird, z. B. vol1.
  • FILESTORE_IP_ADDRESS: die IP-Adresse Ihrer Filestore-Instanz.

Weitere Informationen zum Erstellen eines benutzerdefinierten Container-Images für Cloud Workstations finden Sie unter Container-Images anpassen.