Cloud Workstations ti consente di eseguire script di avvio personalizzati sulla VM della workstation host prima dell'avvio del container della workstation. Questa funzionalità è utile per eseguire la configurazione a livello di VM o installare software aggiuntivo che deve essere eseguito al di fuori del container della workstation principale.
Prima di iniziare
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima
accedere a gcloud CLI con la tua identità federata.
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud init
Se utilizzi un provider di identità (IdP) esterno, devi prima
accedere a gcloud CLI con la tua identità federata.
Prepara lo script di avvio
Crea lo script di avvio che vuoi eseguire sulla VM della workstation host. Quando scrivi lo script, rispetta le seguenti linee guida:
- Cloud Workstations esegue il container della workstation specificato, nonché diversi container di sistema sulla VM della workstation host per garantire il corretto funzionamento della workstation. Tutti i container vengono eseguiti utilizzando il runtime
containerde il clientcrictl. - Esegui tutti i container aggiuntivi avviati dallo script di avvio utilizzando
containerd. Docker è disabilitato sulla VM host per evitare interferenze con il daemon Docker in esecuzione all'interno del container della workstation. - I container a livello di host avviati dallo script di avvio non possono interagire con il container della workstation principale. Queste interazioni dirette non sono supportate perché ignorano i controlli di Identity and Access Management (IAM).
Archivia lo script di avvio in Cloud Storage
Carica lo script in un bucket Cloud Storage e assicurati che sia accessibile dal account di servizio associato alla workstation.
Carica lo script in un bucket:
gcloud storage cp LOCAL_SCRIPT_PATH gs://BUCKET_NAME/SCRIPT_NAMESostituisci quanto segue:
LOCAL_SCRIPT_PATH: il percorso locale del file dello script di avvio.BUCKET_NAME: il nome del bucket Cloud Storage.SCRIPT_NAME: il nome che vuoi assegnare al file dello script nel bucket.
Assicurati che il account di servizio utilizzato dalla configurazione della workstation abbia le autorizzazioni per accedere al bucket e al file dello script. In alternativa, lo script può essere accessibile pubblicamente.
Crea una configurazione della workstation
Per utilizzare uno script di avvio personalizzato, crea una configurazione della workstation e specifica l'URI Cloud Storage dello script.
Console
Per configurare uno script di avvio personalizzato quando crei una configurazione della workstation:
Nella Google Cloud console, vai alla pagina Configurazioni della workstation.
Fai clic su add Crea.
Nella pagina Informazioni di base , inserisci un nome per la configurazione, seleziona un cluster di workstation e fai clic su Continua.
Nella pagina Impostazioni macchina , configura le impostazioni della macchina e fai clic su Continua.
Nella pagina Impostazioni ambiente, espandi la sezione Opzioni container avanzate.
Nel campo Script di avvio personalizzato, inserisci il percorso Cloud Storage dello script di avvio (ad esempio,
gs://BUCKET_NAME/SCRIPT_NAME).Completa i passaggi rimanenti e fai clic su Crea.
REST
Per configurare uno script di avvio personalizzato utilizzando l'API REST, crea la configurazione della workstation e imposta il campo startupScriptUri in un messaggio host.gceInstance sull'URI Cloud Storage dello script:
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
Sostituisci quanto segue:
SERVICE_ACCOUNT: l'indirizzo email del account di servizio associato alla configurazione della workstation.PROJECT_ID: l' Google Cloud ID progetto.LOCATION: la regione in cui si trova il cluster di workstation.CLUSTER_ID: l'ID del cluster di workstation.CONFIG_ID: l'ID che vuoi assegnare alla nuova configurazione della workstation.
Verifica l'esecuzione dello script
Per verificare che lo script sia stato eseguito correttamente, utilizza uno dei seguenti metodi:
- Log di output della porta seriale 3: i log di output generati dallo script vengono inviati automaticamente all'output della porta seriale 3. Per trovare il nome della VM assegnata alla workstation, consulta i log della piattaforma.
- Accedi tramite SSH alla VM: se necessario, puoi accedere tramite SSH alla VM della workstation per eseguire ulteriori debug dello script.
- Controlli di idoneità: gli script di avvio sono di tipo best-effort e non impediscono l'avvio della workstation. Se lo script richiede molto tempo per essere eseguito o non riesce, la workstation potrebbe comunque essere contrassegnata come pronta. Per assicurarti che la workstation non venga contrassegnata come pronta finché lo script non viene completato, valuta la possibilità di implementare i controlli di idoneità.
Passaggi successivi
- Scopri di più sul logging della piattaforma.
- Personalizza l'ambiente di sviluppo.
- Risolvi i problemi della workstation.