Cloud Workstations ti consente di eseguire script di avvio personalizzati sulla VM della workstation host prima dell'avvio del container della workstation. Questa opzione è 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 alla CLI gcloud 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 alla CLI gcloud con la tua identità federata.
Prepara lo script di avvio
Crea lo script di avvio che vuoi eseguire sulla VM workstation host. Quando scrivi il copione, 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 è disattivato 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 dalaccount di serviziot associato alla tua 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 disponga delle autorizzazioni per accedere al bucket e al file di script. In alternativa, lo script può essere accessibile pubblicamente.
Creare una configurazione della workstation
Per utilizzare uno script di avvio personalizzato, crea una configurazione di workstation e imposta il campo
startupScriptUri in un messaggio host.gceInstance sull'URI Cloud Storage dello script.
Crea la configurazione workstation utilizzando 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
Sostituisci quanto segue:
SERVICE_ACCOUNT: l'indirizzo email del account di servizio associato alla configurazione della workstation.PROJECT_ID: il tuo ID progetto Google Cloud .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 tua workstation, consulta i log della piattaforma.
- Accedi alla VM tramite SSH: puoi accedere alla VM della workstation tramite SSH per eseguire il debug dello script, se necessario.
- Controlli di idoneità: gli script di avvio vengono eseguiti al meglio e non impediscono l'avvio della workstation. Se l'esecuzione dello script richiede molto tempo o non va a buon fine, la workstation potrebbe comunque essere contrassegnata come pronta. Per assicurarti che la workstation non venga contrassegnata come pronta prima del completamento dello script, valuta la possibilità di implementare i controlli di idoneità.
Passaggi successivi
- Scopri di più sulla registrazione dei log della piattaforma.
- Personalizza l'ambiente di sviluppo.
- Risolvi i problemi relativi alla workstation.