Cloud Workstations vous permet d'exécuter des scripts de démarrage personnalisés sur la VM de la station de travail hôte avant le démarrage de votre conteneur de station de travail. Cela est utile pour effectuer une configuration au niveau de la VM ou installer des logiciels supplémentaires qui doivent s'exécuter en dehors du conteneur principal de la station de travail.
Avant de commencer
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :
gcloud init
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord
vous connecter à la CLI gcloud avec votre identité fédérée.
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :
gcloud init
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord
vous connecter à la CLI gcloud avec votre identité fédérée.
Préparer votre script de démarrage
Créez le script de démarrage que vous souhaitez exécuter sur la VM de la station de travail hôte. Lorsque vous écrivez votre script, respectez les consignes suivantes :
- Cloud Workstations exécute le conteneur de station de travail que vous avez spécifié, ainsi que plusieurs conteneurs système sur la VM de la station de travail hôte pour s'assurer que votre station de travail fonctionne correctement. Tous les conteneurs s'exécutent à l'aide de l'environnement d'exécution
containerdet du clientcrictl. - Exécutez tous les conteneurs supplémentaires lancés par votre script de démarrage à l'aide de
containerd. Docker est désactivé sur la VM hôte pour éviter toute interférence avec le daemon Docker exécuté dans votre conteneur de station de travail. - Les conteneurs au niveau de l'hôte lancés par votre script de démarrage ne peuvent pas interagir avec le conteneur principal de la station de travail. Ces interactions directes ne sont pas compatibles, car elles contournent les vérifications IAM (Identity and Access Management).
Stocker votre script de démarrage dans Cloud Storage
Importez votre script dans un bucket Cloud Storage et assurez-vous qu'il est accessible par le compte de service associé à votre station de travail.
Importez votre script dans un bucket :
gcloud storage cp LOCAL_SCRIPT_PATH gs://BUCKET_NAME/SCRIPT_NAMERemplacez les éléments suivants :
LOCAL_SCRIPT_PATH: chemin d'accès local au fichier de votre script de démarrage.BUCKET_NAME: nom du bucket Cloud Storage.SCRIPT_NAME: nom que vous souhaitez attribuer au fichier de script dans le bucket.
Assurez-vous que le compte de service utilisé par la configuration de votre station de travail est autorisé à accéder au bucket et au fichier de script. Vous pouvez également rendre le script accessible au public.
Créer une configuration de station de travail
Pour utiliser un script de démarrage personnalisé, créez une configuration de station de travail et définissez le champ startupScriptUri dans un message host.gceInstance sur l'URI Cloud Storage de votre script.
Créez la configuration de la station de travail à l'aide de l'API REST :
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
Remplacez les éléments suivants :
SERVICE_ACCOUNT: adresse e-mail du compte de service associé à la configuration de la station de travail.PROJECT_ID: ID de votre Google Cloud projet.LOCATION: région où se trouve votre cluster de stations de travail.CLUSTER_ID: ID de votre cluster de stations de travail.CONFIG_ID: ID que vous souhaitez attribuer à la nouvelle configuration de la station de travail.
Vérifier l'exécution du script
Pour vérifier que votre script s'est exécuté correctement, utilisez l'une des méthodes suivantes :
- Journaux de sortie du port série 3 : les journaux de sortie générés par votre script sont automatiquement envoyés à la sortie du port série 3. Pour trouver le nom de la VM attribuée à votre station de travail, consultez les journaux de la plate-forme.
- Connexion SSH à votre VM : vous pouvez vous connecter en SSH à votre VM de station de travail pour déboguer davantage votre script si nécessaire.
- Vérifications de l'état de préparation : les scripts de démarrage sont traités aussi efficacement que possible et n'empêchent pas le démarrage de votre station de travail. Si votre script met beaucoup de temps à s'exécuter ou échoue, la station de travail peut toujours être marquée comme prête. Pour vous assurer que la station de travail n'est pas marquée comme prête tant que votre script n'est pas terminé, envisagez d'implémenter des vérifications de l'état de préparation.
Étape suivante
- En savoir plus sur la journalisation de la plate-forme.
- Personnaliser votre environnement de développement.
- Résoudre les problèmes liés aux stations de travail