Mit Cloud Workstations können Sie benutzerdefinierte Startskripts auf der Host-Workstation-VM ausführen, bevor Ihr Workstation-Container gestartet wird. Das ist nützlich, um die VM-Konfiguration vorzunehmen oder zusätzliche Software zu installieren, die außerhalb des Haupt-Workstation-Containers ausgeführt werden muss.
Hinweis
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud init
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst
mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud init
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst
mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Startskript vorbereiten
Erstellen Sie das Startskript, das Sie auf der Host-Workstation-VM ausführen möchten. Beachten Sie beim Schreiben des Skripts die folgenden Richtlinien:
- Cloud Workstations führt Ihren angegebenen Workstation-Container sowie mehrere Systemcontainer auf der Host-Workstation-VM aus, damit Ihre Workstation ordnungsgemäß funktioniert. Alle Container werden mit der
containerd-Laufzeit und demcrictl-Client ausgeführt. - Führen Sie alle zusätzlichen Container, die von Ihrem Startskript gestartet werden, mit
containerdaus. Docker ist auf der Host-VM deaktiviert, um Störungen mit dem Docker-Daemon zu vermeiden, der in Ihrem Workstation-Container ausgeführt wird. - Container auf Hostebene, die von Ihrem Startskript gestartet werden, können nicht mit dem Haupt-Workstation-Container interagieren. Diese direkten Interaktionen werden nicht unterstützt, da sie die Prüfungen der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) umgehen.
Startskript in Cloud Storage speichern
Laden Sie Ihr Skript in einen Cloud Storage-Bucket hoch und sorgen Sie dafür, dass das Skript für das Dienstkonto zugänglich ist, das mit Ihrer Workstation verknüpft ist.
Laden Sie Ihr Skript in einen Bucket hoch:
gcloud storage cp LOCAL_SCRIPT_PATH gs://BUCKET_NAME/SCRIPT_NAMEErsetzen Sie Folgendes:
LOCAL_SCRIPT_PATH: der lokale Pfad zu Ihrer Startskriptdatei.BUCKET_NAME: der Name Ihres Cloud Storage-Bucket.SCRIPT_NAME: der Name, den Sie der Skriptdatei im Bucket geben möchten.
Prüfen Sie, ob das Dienstkonto, das von Ihrer Workstation-Konfiguration verwendet wird, die Berechtigung hat, auf den Bucket und die Skriptdatei zuzugreifen. Alternativ kann das Skript öffentlich zugänglich sein.
Workstationkonfiguration erstellen
Wenn Sie ein benutzerdefiniertes Startskript verwenden möchten, erstellen Sie eine Workstation-Konfiguration und legen Sie das Feld startupScriptUri in einer host.gceInstance-Nachricht auf den Cloud Storage-URI Ihres Skripts fest.
Erstellen Sie die Workstation-Konfiguration mit der REST API:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"host": {
"gceInstance": {
"poolSize": 1,
"startupScriptUri": "gs://BUCKET_NAME/SCRIPT_NAME",
"serviceAccount": "SERVICE_ACCOUNT"
}
}
}' \
https://workstations.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/workstationClusters/CLUSTER_ID/workstationConfigs?workstation_config_id=CONFIG_ID
Ersetzen Sie Folgendes:
SERVICE_ACCOUNT: die E-Mail-Adresse des Dienstkontos, das mit der Workstation-Konfiguration verknüpft ist.PROJECT_ID: Ihre Google Cloud Projekt-ID.LOCATION: die Region, in der sich Ihr Workstation-Cluster befindet.CLUSTER_ID: die ID Ihres Workstation-Clusters.CONFIG_ID: die ID, die Sie der neuen Workstation-Konfiguration zuweisen möchten.
Skriptausführung prüfen
Verwenden Sie eine der folgenden Methoden, um zu prüfen, ob Ihr Skript korrekt ausgeführt wurde:
- Ausgabeprotokolle des seriellen Ports 3: Ausgabeprotokolle, die von Ihrem Skript generiert wurden, werden automatisch an die Ausgabe des seriellen Ports 3 gesendet. Den Namen der VM, die Ihrer Workstation zugewiesen ist, finden Sie in den Plattformprotokollen.
- SSH-Verbindung zu Ihrer VM herstellen: Sie können eine SSH-Verbindung zu Ihrer Workstation-VM herstellen um Ihr Skript bei Bedarf weiter zu debuggen.
- Bereitschaftsprüfungen: Startskripts werden nach dem Best-Effort-Prinzip ausgeführt und verhindern nicht, dass Ihre Workstation gestartet wird. Wenn die Ausführung Ihres Skripts lange dauert oder fehlschlägt, wird die Workstation möglicherweise trotzdem als bereit markiert. Wenn die Workstation erst als bereit markiert werden soll, wenn Ihr Skript abgeschlossen ist, sollten Sie Bereitschaftsprüfungenimplementieren.
Nächste Schritte
- Weitere Informationen zur Plattformprotokollierung.
- Entwicklungsumgebung anpassen.
- Probleme mit Workstations beheben