Esegui script di avvio personalizzati

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

Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.

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:

  1. 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 containerd e il client crictl.
  2. 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.
  3. 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.

  1. Carica lo script in un bucket:

    gcloud storage cp LOCAL_SCRIPT_PATH gs://BUCKET_NAME/SCRIPT_NAME
    

    Sostituisci 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.
  2. 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