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 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

Accedi al tuo Google Cloud account. 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 carichi di lavoro.

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:

  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 è disabilitato 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 dal account di servizio associato alla 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 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:

  1. Nella Google Cloud console, vai alla pagina Configurazioni della workstation.

    Vai alle configurazioni della workstation

  2. Fai clic su add Crea.

  3. Nella pagina Informazioni di base , inserisci un nome per la configurazione, seleziona un cluster di workstation e fai clic su Continua.

  4. Nella pagina Impostazioni macchina , configura le impostazioni della macchina e fai clic su Continua.

  5. Nella pagina Impostazioni ambiente, espandi la sezione Opzioni container avanzate.

  6. Nel campo Script di avvio personalizzato, inserisci il percorso Cloud Storage dello script di avvio (ad esempio, gs://BUCKET_NAME/SCRIPT_NAME).

  7. 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:

Passaggi successivi