Aggiornamento di un deployment

Questa pagina descrive come utilizzare Infrastructure Manager per aggiornare un deployment. I casi in cui puoi aggiornare un deployment includono:

  • 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 parte della configurazione. Puoi aggiornare il deployment utilizzando una configurazione Terraform che descrive la nuova infrastruttura.

Questa pagina presuppone che tu abbia familiarità con Terraform. Per maggiori 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 deployment: roles/config.admin
  3. Assicurati di disporre di un account di servizio con le autorizzazioni necessarie. Per maggiori dettagli, vedi Configurare il service account.
  4. Identifica il deployment di Infra Manager da aggiornare.
  5. Identifica la configurazione Terraform da implementare per l'aggiornamento. Qualsiasi configurazione può essere utilizzata per una revisione. Questa configurazione è spesso una versione identica o aggiornata della configurazione già implementata.

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

  6. Conferma 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.

Concedi autorizzazioni specifiche per la configurazione

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

  • Google Cloud risorse definite nella configurazione che utilizzi per la revisione.

  • Se la configurazione che utilizzi 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 a quelle necessarie al account di servizio per utilizzare il servizio Infra Manager.

Per informazioni dettagliate sulla concessione delle autorizzazioni per le risorse Google Cloud 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.

Aggiornamento di un deployment

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

Se non hai un deployment esistente, consulta Esegui 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 workflow scelto per ulteriori informazioni su come aggiornare un deployment.

Console

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

Esegui il deployment della configurazione e crea una revisione:

  1. Nella console Google Cloud , 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 con il tuo ID deployment, fai clic su Modifica.
  4. Nella pagina Dettagli del deployment, puoi modificare i campi Versione di 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. Fai clic su Aggiorna quando le modifiche apportate al deployment ti soddisfano per avviare la procedura di aggiornamento.

Per saperne di più sui parametri di deployment e sui relativi formati, consulta la documentazione Esegui il deployment delle risorse.

Interfaccia a riga di comando gcloud

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 maggiori 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
            
Sostituisci:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la località in cui viene eseguito Infra Manager. Consulta Località Infra Manager per l'elenco delle località valide.
  • DEPLOYMENT_ID: l'identificatore del deployment specificato. Per informazioni dettagliate sui vincoli dell'identificatore di deployment, vedi 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 specificare anche il numero di generazione dell'oggetto. Per maggiori dettagli, vedi Utilizzare gli oggetti con controllo delle versioni.

    Se il bucket di archiviazione è il percorso principale della configurazione di 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: attiva la convalida della quota di calcolo 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 di Terraform verrà disattivata. Questo è il valore predefinito. La convalida della quota si applica alle risorse Google Cloud limitate. Per ulteriori informazioni, consulta Quote e limiti.

  • INPUT_1_NAME e INPUT_2_NAME: tutti i valori di input nella configurazione Terraform, inclusi quelli non definiti per impostazione predefinita. Ad esempio, potresti 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. Consulta l'articolo Versione di Terraform supportata per l'elenco delle versioni supportate. 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 alle implementazioni di Infra Manager. Per saperne di più 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.

Interfaccia a riga di comando gcloud

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 Git e il repository 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
            
Sostituisci:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la località in cui viene eseguito Infra Manager. Consulta Località Infra Manager per l'elenco delle località valide.
  • DEPLOYMENT_ID: l'identificatore del deployment specificato. Per informazioni dettagliate sui vincoli dell'identificatore di deployment, vedi 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 di 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: attiva la convalida della quota di calcolo 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 di Terraform verrà disattivata. Questo è il valore predefinito. La convalida della quota si applica alle risorse Google Cloud limitate. Per ulteriori informazioni, consulta Quote e limiti.

  • INPUT_1_NAME e INPUT_2_NAME: tutti i valori di input nella configurazione Terraform, inclusi quelli non definiti per impostazione predefinita. Ad esempio, potresti 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. Consulta l'articolo Versione di Terraform supportata per l'elenco delle versioni supportate. 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 alle implementazioni di Infra Manager. Per saperne di più 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.

Interfaccia a riga di comando gcloud

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

  1. Se utilizzi Cloud Shell, devi caricare la configurazione in Cloud Shell. Per maggiori 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
            
Sostituisci:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la località in cui viene eseguito Infra Manager. Consulta Località Infra Manager per l'elenco delle località valide.
  • DEPLOYMENT_ID: l'identificatore del deployment specificato. Per informazioni dettagliate sui vincoli dell'identificatore di deployment, vedi 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 di 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: attiva la convalida della quota di calcolo 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 di Terraform verrà disattivata. Questo è il valore predefinito. La convalida della quota si applica alle risorse Google Cloud limitate. Per ulteriori informazioni, consulta Quote e limiti.

  • INPUT_1_NAME e INPUT_2_NAME: tutti i valori di input nella configurazione Terraform, inclusi quelli non definiti per impostazione predefinita. Ad esempio, potresti 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. Consulta l'articolo Versione di Terraform supportata per l'elenco delle versioni supportate. 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 alle implementazioni di Infra Manager. Per saperne di più 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