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 ripristinare 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 un utente che lavora nella console. Puoi aggiornare il deployment utilizzando la configurazione Terraform originale per ripristinare lo stato scelto.

  • Per implementare le modifiche all'infrastruttura.

    Dopo aver creato un deployment, potresti voler modificare l'infrastruttura. Ad esempio, l'aggiunta di nuove risorse o la modifica di parte della configurazione. Puoi aggiornare il deployment utilizzando una configurazione Terraform che descrive la nuova infrastruttura.

Questa pagina presuppone che tu abbia dimestichezza con Terraform. Per maggiori dettagli, consulta 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 disporre di un account di servizio con le autorizzazioni necessarie. Per maggiori dettagli, consulta Configurare l'account di servizio.
  4. Identifica il deployment di Infra Manager da aggiornare.
  5. Identifica la configurazione Terraform da eseguire per l'aggiornamento. Qualsiasi configurazione può essere utilizzata per una revisione. Spesso questa configurazione è una versione identica o aggiornata della configurazione già implementata.

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

  6. Conferma la quota della tua organizzazione per i prodotti associati all'infrastruttura prevista. Potresti riscontrare errori di implementazione 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 le autorizzazioni specifiche per la configurazione

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

  • RisorseGoogle Cloud definite nella configurazione utilizzata per la revisione.

  • Se la configurazione utilizzata per la revisione definisce risorse diverse rispetto a quella 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 necessarie per l'utilizzo del servizio Infra Manager da parte dell'account di servizio.

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

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

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

Aggiornamento di un deployment

Per aggiornare un deployment, esegui il deployment di una configurazione utilizzando lo stesso nome del deployment, in modo da creare una revisione. Per maggiori dettagli, consulta la Panoramica di implementazioni 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 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 la colonna ID e fai clic sul deployment da aggiornare.
  3. Nella pagina con il nome dell'ID di implementazione, fai clic su Modifica.
  4. Nella pagina Dettagli di deployment, puoi modificare i campi Versione Terraform, Account di servizio, 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 di Terraform. Fai clic su Continua.
  6. Nella pagina Dettagli avanzati, puoi modificare i campi Etichette e annotazioni, Pool di worker e Bucket Cloud Storage per gli elementi.
  7. Fai clic su Aggiorna quando le modifiche apportate al deployment ti soddisfano per avviare la procedura di aggiornamento.

Per ulteriori informazioni sui parametri di deployment e sui relativi formati, consulta la documentazione su come eseguire 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 di Terraform si trovi in un bucket Cloud Storage. Per ulteriori dettagli, vedi 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 l'account di servizio di Infra Manager abbia l'autorizzazione di lettura per il bucket. Per maggiori dettagli, vedi Configurare l'account di servizio.

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

  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 \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Sostituisci:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la posizione in cui viene eseguito Infra Manager. Consulta Località di Infra Manager per l'elenco delle località valide.
  • DEPLOYMENT_ID: l'identificatore del deployment specificato. Per informazioni dettagliate sulle limitazioni dell'identificatore di deployment, vedi Nome del deployment.
  • SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto dell'account di servizio. In genere si tratta dello stesso progetto in cui viene eseguito Infra Manager.
  • SERVICE_ACCOUNT: il nome dell'account di servizio utilizzato per chiamare Infra Manager.
  • BUCKET_NAME: il nome del bucket di archiviazione in cui è archiviata 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 maggiori dettagli, vedi Utilizzare gli oggetti con versione.

    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 è attivata o applicata quando crei un deployment. I valori possibili includono:
    • ENABLED: abilita la convalida del calcolo delle quote 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 delle quote 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: qualsiasi valore di input nella configurazione di 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 per Infra Manager da utilizzare per creare il deployment. Consulta la versione di Terraform supportata per un elenco delle versioni supportate. Se rimuovi questo flag facoltativo, viene utilizzata la versione più recente di Terraform supportata.
  • (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 saperne di più sull'utilizzo e sui vincoli delle annotazioni e delle etichette, consulta Annotazioni ed etichette.

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 di 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 \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Sostituisci:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la posizione in cui viene eseguito Infra Manager. Consulta Località di Infra Manager per l'elenco delle località valide.
  • DEPLOYMENT_ID: l'identificatore del deployment specificato. Per informazioni dettagliate sulle limitazioni dell'identificatore di deployment, vedi Nome del deployment.
  • SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto dell'account di servizio. In genere si tratta dello stesso progetto in cui viene eseguito Infra Manager.
  • SERVICE_ACCOUNT: il nome dell'account di servizio utilizzato 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 configurato predefinito del repository Git.
  • (Facoltativo) QUOTA_VALIDATION: il valore che determina se la convalida delle quote per le risorse nei file di configurazione Terraform è attivata o applicata quando crei un deployment. I valori possibili includono:
    • ENABLED: abilita la convalida del calcolo delle quote 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 delle quote 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: qualsiasi valore di input nella configurazione di 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 per Infra Manager da utilizzare per creare il deployment. Consulta la versione di Terraform supportata per un elenco delle versioni supportate. Se rimuovi questo flag facoltativo, viene utilizzata la versione più recente di Terraform supportata.
  • (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 saperne di più sull'utilizzo e sui vincoli delle annotazioni e delle etichette, consulta Annotazioni ed etichette.

Interfaccia a riga di comando gcloud

Questa sezione descrive come utilizzare una configurazione Terraform memorizzata sul tuo computer locale.

  1. Se utilizzi Cloud Shell, devi caricare la configurazione su 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 \
            --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
            
Sostituisci:
  • PROJECT_ID: l'ID progetto in cui viene eseguito Infra Manager.
  • LOCATION: la posizione in cui viene eseguito Infra Manager. Consulta Località di Infra Manager per l'elenco delle località valide.
  • DEPLOYMENT_ID: l'identificatore del deployment specificato. Per informazioni dettagliate sulle limitazioni dell'identificatore di deployment, vedi Nome del deployment.
  • SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto dell'account di servizio. In genere si tratta dello stesso progetto in cui viene eseguito Infra Manager.
  • SERVICE_ACCOUNT: il nome dell'account di servizio utilizzato per chiamare Infra Manager.
  • LOCAL_DIRECTORY: la directory locale in cui è memorizzata la configurazione di Terraform. Se utilizzi Cloud Shell, questa è la directory 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 è attivata o applicata quando crei un deployment. I valori possibili includono:
    • ENABLED: abilita la convalida del calcolo delle quote 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 delle quote 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: qualsiasi valore di input nella configurazione di 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 per Infra Manager da utilizzare per creare il deployment. Consulta la versione di Terraform supportata per un elenco delle versioni supportate. Se rimuovi questo flag facoltativo, viene utilizzata la versione più recente di Terraform supportata.
  • (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 saperne di più sull'utilizzo e sui vincoli delle annotazioni e delle etichette, consulta Annotazioni ed etichette.

Passaggi successivi