Aggiornamento di un deployment

Questa pagina descrive come utilizzare Infrastructure Manager per aggiornare un deployment. Ecco alcuni casi in cui potresti aggiornare un deployment:

  • Per riportare l'infrastruttura a uno stato scelto.

    Quando crei un deployment, dopo un po' di tempo le risorse potrebbero essere cambiate. Ad esempio, alcune risorse potrebbero essere state modificate da qualcuno che lavora nella console. Puoi aggiornare il deployment utilizzando la configurazione Terraform originale per riportarlo allo stato scelto.

  • Per implementare le modifiche all'infrastruttura.

    Dopo aver creato un deployment, potresti voler modificare l'infrastruttura. Ad esempio, aggiungendo nuove risorse o modificando alcune configurazioni. Puoi aggiornare il deployment utilizzando una configurazione Terraform che descrive la nuova infrastruttura.

Questa pagina presuppone che tu abbia familiarità con Terraform. Per i dettagli, vedi Terraform e Infra Manager.

Prima di iniziare

  1. Assicurati che Infra Manager sia abilitato.
  2. Assicurati di disporre delle autorizzazioni IAM necessarie per creare i deployment: roles/config.admin
  3. Assicurati di avere un account di servizio con le autorizzazioni necessarie. Per i dettagli, vedi Configurare il service account.
  4. Identifica il deployment di Infra Manager da aggiornare.
  5. Identifica la configurazione Terraform di cui eseguire il deployment per l'aggiornamento. È possibile utilizzare qualsiasi configurazione per una revisione. Questa configurazione è spesso una versione identica o aggiornata della configurazione già di cui è stato eseguito il deployment.

    Assicurati che questa configurazione Terraform sia conforme ai vincoli, incluso il fatto che la configurazione non contenga dati sensibili.

  6. Verifica la quota della tua organizzazione per i prodotti associati all'infrastruttura prevista. Potresti riscontrare errori di deployment se l'infrastruttura prevista supera la quota della tua organizzazione per i prodotti utilizzati dal deployment. Per ulteriori informazioni, consulta Quote e limiti.

  7. Adotta le misure necessarie per la migrazione dei dati o la continuità del servizio per le risorse che stai modificando.

  8. Se vuoi visualizzare l'anteprima dell'aggiornamento prima di configurare le risorse, consulta Visualizzare l'anteprima di un aggiornamento di un deployment.

Concedere autorizzazioni specifiche per la configurazione

Per eseguire il deployment delle risorse specificate nella configurazione Terraform, il account di servizio che utilizzi per chiamare Infra Manager deve disporre di autorizzazioni specifiche per: Google Cloud

  • Google Cloud Risorse definite nella configurazione che stai utilizzando per la revisione.

  • Se la configurazione che stai utilizzando per la revisione definisce risorse diverse rispetto alla configurazione utilizzata per il deployment, devi disporre delle autorizzazioni per le risorse definite in entrambe le configurazioni.

Le autorizzazioni specifiche per le risorse definite nella configurazione si aggiungono alle autorizzazioni di cui il account di servizio ha bisogno per utilizzare il servizio Infra Manager.

Per informazioni dettagliate sulla concessione delle autorizzazioni per le Google Cloud risorse e per assicurarti di avere accesso ai progetti necessari, consulta Configurare il service account.

Connetti il repository Git privato e l'host a Cloud Build

Se stai eseguendo il deployment di una configurazione Terraform da un repository Git privato, devi connettere l'host Git e il repository a Cloud Build.

Aggiornare un deployment

Per aggiornare un deployment, esegui il deployment di una configurazione utilizzando lo stesso nome del deployment e viene creata una revisione. Per ulteriori dettagli, vedi Panoramica di deployment e revisioni.

Se non hai un deployment esistente, consulta Eseguire il deployment dell'infrastruttura utilizzando Infra Manager.

Per visualizzare l'anteprima di un aggiornamento senza eseguire il provisioning delle risorse, consulta Visualizzare l'anteprima di un deployment.

Seleziona la scheda con il flusso di lavoro scelto per ulteriori informazioni su come aggiornare un deployment.

Console

Questa sezione descrive l'aggiornamento di una configurazione Terraform utilizzando Infra Manager nella Google Cloud console.

Esegui il deployment della configurazione e crea una revisione:

  1. Nella Google Cloud console, vai alla pagina Infra Manager.

    Vai a Infra Manager

  2. Nella pagina Deployment, cerca nella colonna ID e fai clic sul deployment che vuoi aggiornare.
  3. Nella pagina intitolata con l'ID deployment, fai clic su Modifica.
  4. Nella pagina Dettagli deployment, puoi modificare i campi Versione Terraform, Service account, e Origine della configurazione Terraform . Se fornisci un repository Git privato, assicurati di aver collegato l'host e il repository a Cloud Build.

    Fai clic su Continua.

  5. Nella pagina Dettagli Terraform, puoi modificare i Valori di input per la configurazione Terraform. Fai clic su Continua.
  6. Nella pagina Dettagli avanzati, puoi modificare i campi Etichette e annotazioni, Pool di worker e Bucket Cloud Storage degli artefatti.
  7. Quando sei soddisfatto delle modifiche apportate al deployment, fai clic su Aggiorna per avviare la procedura di aggiornamento.

Per ulteriori informazioni sui parametri di deployment e sui relativi formati, consulta la documentazione Eseguire il deployment delle risorse.

gcloud CLI

Questa sezione descrive il deployment di una configurazione Terraform archiviata in un bucket Cloud Storage. Un bucket di archiviazione ti consente di controllare l'accesso alla configurazione.

  1. Assicurati che la configurazione Terraform si trovi in un bucket Cloud Storage. Per ulteriori dettagli, consulta Caricare una configurazione in un bucket di archiviazione.
  2. Se il bucket di archiviazione si trova in un progetto diverso da quello in cui esegui Infra Manager, devi assicurarti che il account di servizio di Infra Manager disponga dell'autorizzazione di lettura per il bucket. Per ulteriori dettagli, consulta Configurare il service account.

    Se il bucket di archiviazione si trova nello stesso progetto di Infra Manager, l'autorizzazione di lettura per il bucket è già abilitata.

  3. Esegui il deployment della configurazione e crea una revisione:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --gcs-source gs://BUCKET_NAME/OBJECT_NAME \
    --quota-validation=QUOTA_VALIDATION \
    --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
    --tf-version-constraint=TERRAFORM_VERSION \
    --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \
    --provider-source=SERVICE_MAINTAINED
Replace:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la località in cui viene eseguito Infra Manager. Per l'elenco delle località valide, consulta Località di Infra Manager.
  • DEPLOYMENT_ID: l'identificatore del deployment che specifichi. Per informazioni dettagliate sui vincoli relativi all'identificatore del deployment, consulta Nome del deployment.
  • SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto del account di servizio. In genere, si tratta dello stesso progetto in cui viene eseguito Infra Manager.
  • SERVICE_ACCOUNT: il nome del account di servizio che utilizzi per chiamare Infra Manager.
  • BUCKET_NAME: il nome del bucket di archiviazione in cui è memorizzata la configurazione.
  • OBJECT_NAME: il nome dell'oggetto del file di configurazione. Questo oggetto può essere una directory o un file ZIP, ma non un file Terraform. Se utilizzi il controllo delle versioni degli oggetti, puoi anche specificare il numero di generazione dell'oggetto. Per ulteriori dettagli, consulta Utilizzare oggetti con controllo delle versioni.

    Se il bucket di archiviazione è il percorso principale della configurazione Terraform, OBJECT_NAME è facoltativo.

  • (Facoltativo) QUOTA_VALIDATION: il valore che determina se la convalida della quota per le risorse nei file di configurazione Terraform è abilitata o applicata quando crei un deployment. I valori possibili includono:
    • ENABLED: abilita la convalida della quota di computing per le risorse nei file di configurazione Terraform. Fornisce visibilità sulle risorse con quote insufficienti.
    • ENFORCED: applica la convalida della quota in modo che il deployment non vada a buon fine se non è disponibile una quota sufficiente per l'infrastruttura definita nel file di configurazione Terraform.

    Se QUOTA_VALIDATION non è definito, la convalida della quota nei file di configurazione Terraform verrà disabilitata. Questo è il valore predefinito. La convalida della quota si applica alle risorse limitate Google Cloud . Per ulteriori informazioni, consulta Quote e limiti.

  • INPUT_1_NAME e INPUT_2_NAME: qualsiasi valore di input nella configurazione Terraform, inclusi quelli non definiti per impostazione predefinita. Ad esempio, puoi specificare il progetto in cui esegui il deployment delle risorse come project_id=my-project.

    Se tutti i valori di input sono definiti per impostazione predefinita nella configurazione, questo flag è facoltativo.

  • (Facoltativo) TERRAFORM_VERSION: la versione di Terraform che Infra Manager deve utilizzare per creare il deployment. Per l'elenco delle versioni supportate, consulta Versione di Terraform supportata. Se rimuovi questo flag facoltativo, viene utilizzata l'ultima versione supportata di Terraform.
  • (Facoltativo) ANNOTATION_KEY e ANNOTATION_VALUE rappresentano una coppia chiave-valore di testo in formato libero che può essere allegata ai deployment di Infra Manager. Per ulteriori informazioni sull'utilizzo e sui vincoli di annotazioni ed etichette, consulta Annotazioni ed etichette.
  • (Facoltativo) PROVIDER_SOURCE: determina quale provider Terraform per Google Cloud il deployment utilizza. Imposta SERVICE_MAINTAINED per utilizzare il provider Terraform gestito da Infra Manager. Ometti questo campo per utilizzare il provider Terraform gestito da HashiCorp. Per saperne di più, consulta Utilizzare il provider Terraform per Google Cloud.

gcloud CLI

Questa sezione descrive come utilizzare una configurazione Terraform archiviata in un repository Git.

  1. Assicurati di aver installato Git.
  2. Se la configurazione Terraform è archiviata in un repository Git privato, assicurati che l' host e il repository Git siano connessi a Cloud Build.
  3. Esegui il deployment della configurazione e crea una revisione:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --git-source-repo="GIT_REPO" \
    --git-source-directory="DIRECTORY" \
    --git-source-ref="REF" \
    --quota-validation=QUOTA_VALIDATION \
    --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
    --tf-version-constraint=TERRAFORM_VERSION \
    --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \
    --provider-source=SERVICE_MAINTAINED
Replace:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la località in cui viene eseguito Infra Manager. Per l'elenco delle località valide, consulta Località di Infra Manager.
  • DEPLOYMENT_ID: l'identificatore del deployment che specifichi. Per informazioni dettagliate sui vincoli relativi all'identificatore del deployment, consulta Nome del deployment.
  • SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto del account di servizio. In genere, si tratta dello stesso progetto in cui viene eseguito Infra Manager.
  • SERVICE_ACCOUNT: il nome del account di servizio che utilizzi per chiamare Infra Manager.
  • GIT_REPO: il repository Git.
  • DIRECTORY: la directory contenente la configurazione Terraform.
  • (Facoltativo) REF: il riferimento Git della configurazione. Il riferimento è facoltativo. Se non specifichi il riferimento, viene utilizzato il ramo predefinito configurato del repository Git.
  • (Facoltativo) QUOTA_VALIDATION: il valore che determina se la convalida della quota per le risorse nei file di configurazione Terraform è abilitata o applicata quando crei un deployment. I valori possibili includono:
    • ENABLED: abilita la convalida della quota di computing per le risorse nei file di configurazione Terraform. Fornisce visibilità sulle risorse con quote insufficienti.
    • ENFORCED: applica la convalida della quota in modo che il deployment non vada a buon fine se non è disponibile una quota sufficiente per l'infrastruttura definita nel file di configurazione Terraform.

    Se QUOTA_VALIDATION non è definito, la convalida della quota nei file di configurazione Terraform verrà disabilitata. Questo è il valore predefinito. La convalida della quota si applica alle risorse limitate Google Cloud . Per ulteriori informazioni, consulta Quote e limiti.

  • INPUT_1_NAME e INPUT_2_NAME: qualsiasi valore di input nella configurazione Terraform, inclusi quelli non definiti per impostazione predefinita. Ad esempio, puoi specificare il progetto in cui esegui il deployment delle risorse come project_id=my-project.

    Se tutti i valori di input sono definiti per impostazione predefinita nella configurazione, questo flag è facoltativo.

  • (Facoltativo) TERRAFORM_VERSION: la versione di Terraform che Infra Manager deve utilizzare per creare il deployment. Per l'elenco delle versioni supportate, consulta Versione di Terraform supportata. Se rimuovi questo flag facoltativo, viene utilizzata l'ultima versione supportata di Terraform.
  • (Facoltativo) ANNOTATION_KEY e ANNOTATION_VALUE rappresentano una coppia chiave-valore di testo in formato libero che può essere allegata ai deployment di Infra Manager. Per ulteriori informazioni sull'utilizzo e sui vincoli di annotazioni ed etichette, consulta Annotazioni ed etichette.
  • (Facoltativo) PROVIDER_SOURCE: determina quale provider Terraform per Google Cloud il deployment utilizza. Imposta SERVICE_MAINTAINED per utilizzare il provider Terraform gestito da Infra Manager. Ometti questo campo per utilizzare il provider Terraform gestito da HashiCorp. Per saperne di più, consulta Utilizzare il provider Terraform per Google Cloud.

gcloud CLI

Questa sezione descrive come utilizzare una configurazione Terraform archiviata sulla tua macchina locale.

  1. Se utilizzi Cloud Shell, devi caricare la configurazione in Cloud Shell. Per i dettagli, vedi Gestire i file con Cloud Shell.
  2. Esegui il deployment della configurazione e crea una revisione:

    gcloud infra-manager deployments apply projects/PROJECT_ID/locations/LOCATION/deployments/DEPLOYMENT_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --local-source="LOCAL_DIRECTORY" \
    --quota-validation=QUOTA_VALIDATION \
    --input-values=INPUT_1_NAME=VALUE,INPUT_2_NAME=VALUE \
    --tf-version-constraint=TERRAFORM_VERSION \
    --annotations="ANNOTATION_KEY=ANNOTATION_VALUE" \
    --provider-source=SERVICE_MAINTAINED
Replace:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la località in cui viene eseguito Infra Manager. Per l'elenco delle località valide, consulta Località di Infra Manager.
  • DEPLOYMENT_ID: l'identificatore del deployment che specifichi. Per informazioni dettagliate sui vincoli relativi all'identificatore del deployment, consulta Nome del deployment.
  • SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto del account di servizio. In genere, si tratta dello stesso progetto in cui viene eseguito Infra Manager.
  • SERVICE_ACCOUNT: il nome del account di servizio che utilizzi per chiamare Infra Manager.
  • LOCAL_DIRECTORY: la directory locale in cui è memorizzata la configurazione Terraform. Se utilizzi Cloud Shell, questa è la directory in Cloud Shell in cui è memorizzata la configurazione.
  • (Facoltativo) QUOTA_VALIDATION: il valore che determina se la convalida della quota per le risorse nei file di configurazione Terraform è abilitata o applicata quando crei un deployment. I valori possibili includono:
    • ENABLED: abilita la convalida della quota di computing per le risorse nei file di configurazione Terraform. Fornisce visibilità sulle risorse con quote insufficienti.
    • ENFORCED: applica la convalida della quota in modo che il deployment non vada a buon fine se non è disponibile una quota sufficiente per l'infrastruttura definita nel file di configurazione Terraform.

    Se QUOTA_VALIDATION non è definito, la convalida della quota nei file di configurazione Terraform verrà disabilitata. Questo è il valore predefinito. La convalida della quota si applica alle risorse limitate Google Cloud . Per ulteriori informazioni, consulta Quote e limiti.

  • INPUT_1_NAME e INPUT_2_NAME: qualsiasi valore di input nella configurazione Terraform, inclusi quelli non definiti per impostazione predefinita. Ad esempio, puoi specificare il progetto in cui esegui il deployment delle risorse come project_id=my-project.

    Se tutti i valori di input sono definiti per impostazione predefinita nella configurazione, questo flag è facoltativo.

  • (Facoltativo) TERRAFORM_VERSION: la versione di Terraform che Infra Manager deve utilizzare per creare il deployment. Per l'elenco delle versioni supportate, consulta Versione di Terraform supportata. Se rimuovi questo flag facoltativo, viene utilizzata l'ultima versione supportata di Terraform.
  • (Facoltativo) ANNOTATION_KEY e ANNOTATION_VALUE rappresentano una coppia chiave-valore di testo in formato libero che può essere allegata ai deployment di Infra Manager. Per ulteriori informazioni sull'utilizzo e sui vincoli di annotazioni ed etichette, consulta Annotazioni ed etichette.
  • (Facoltativo) PROVIDER_SOURCE: determina quale provider Terraform per Google Cloud il deployment utilizza. Imposta SERVICE_MAINTAINED per utilizzare il provider Terraform gestito da Infra Manager. Ometti questo campo per utilizzare il provider Terraform gestito da HashiCorp. Per saperne di più, consulta Utilizzare il provider Terraform per Google Cloud.

Passaggi successivi