Visualizzare l'anteprima di un deployment

Questa pagina descrive come utilizzare Infrastructure Manager per visualizzare l'anteprima del deployment delle risorse definite in una configurazione Terraform.

Un'anteprima descrive le azioni per attuare una configurazione Terraform specifica. Prima di creare un nuovo deployment o aggiornarne uno, puoi visualizzarne l'anteprima per verificare le risorse di cui è previsto il provisioning.

Un'anteprima esegue il comando Terraform plan. Questa pagina presuppone che tu abbia familiarità con Terraform. Per maggiori dettagli, consulta Terraform e Infrastructure Manager.

Per creare un'anteprima, la configurazione Terraform deve essere compatibile con una delle versioni di Terraform supportate.

Prima di iniziare

  1. Abilita Infra Manager.
  2. Assicurati di disporre delle autorizzazioni di Identity and Access Management necessarie per creare anteprime: roles/config.admin.
  3. Assicurati di avere un account di servizio con le autorizzazioni necessarie. Per i dettagli, consulta Configura il service account.
  4. Identifica la configurazione Terraform da visualizzare in anteprima. Assicurati che questa configurazione Terraform sia conforme ai vincoli, incluso il fatto che non contenga dati sensibili.
  5. Se vuoi archiviare la configurazione Terraform in un bucket di archiviazione, assicurati che la configurazione Terraform sia caricata in un bucket Cloud Storage. Per maggiori dettagli, consulta Carica una configurazione in un bucket di archiviazione.

    Un bucket di archiviazione ti consente di controllare l'accesso alla configurazione. Puoi anche eseguire il deployment di una configurazione Terraform archiviata in un repository Git o sulla tua macchina locale.

Visualizza l'anteprima di un nuovo deployment

La configurazione Terraform di cui visualizzi l'anteprima può trovarsi in un bucket di archiviazione o in un repository Git.

Visualizza l'anteprima utilizzando una configurazione Terraform archiviata in un bucket Cloud Storage

  1. Assicurati che la configurazione Terraform sia caricata in un bucket Cloud Storage. Per maggiori dettagli, consulta Carica una configurazione in un bucket di archiviazione.

    Un bucket di archiviazione ti consente di controllare l'accesso alla configurazione. Puoi anche eseguire il deployment di una configurazione Terraform archiviata in un repository Git o sulla tua macchina locale.

  2. Per visualizzare l'anteprima dell'aggiornamento:

    
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --gcs-source gs://BUCKET_NAME/OBJECT_NAME \
    --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 Infrastructure Manager.
    • LOCATION è la località in cui viene eseguito Infra Manager. Consulta Località di Infrastructure Manager per l'elenco delle località valide.
    • PREVIEW_ID è l'identificatore dell'anteprima che specifichi. Per informazioni dettagliate sui vincoli relativi all'identificatore dell'anteprima, consulta Nome anteprima.
    • SERVICE_ACCOUNT è il nome del account di servizio che utilizzi per chiamare Infra Manager.
    • SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto del service account. In genere, si tratta dello stesso progetto in cui viene eseguito 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, consulta Utilizza gli oggetti con versioni.

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

    • INPUT_1_NAME=VALUE e INPUT_2_NAME=VALUE: 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 l'anteprima. Per l'elenco delle versioni supportate, consulta la sezione Versione di Terraform supportata. Se rimuovi questo flag facoltativo, per impostazione predefinita viene utilizzata l'ultima versione del Livello senza costi di Terraform (1.5.7) supportata. Per visualizzare l'anteprima utilizzando una versione a pagamento (ad esempio 1.16.5), devi specificare esplicitamente la versione. Le anteprime non comportano addebiti per le versioni di Terraform a pagamento.

    • (Facoltativo) ANNOTATION_KEY e ANNOTATION_VALUE rappresentano una coppia chiave-valore di testo in formato libero che può essere associata ai tuoi deployment 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 viene utilizzato dal deployment. Imposta su 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 Utilizza il provider Terraform per Google Cloud.

    I campi del deployment, come la configurazione Terraform, le variabili e il account di servizio, vengono uniti automaticamente nell'anteprima, a meno che non specifichi nuovi valori nel comando di anteprima.

Ora che hai creato un'anteprima, puoi esportare e visualizzare i risultati per esaminare il piano per il deployment.

Visualizza l'anteprima utilizzando una configurazione Terraform archiviata in un repository Git

Quando aggiorni un deployment, alcune delle risorse esistenti potrebbero non cambiare. L'anteprima di un aggiornamento mostra quali risorse verranno sottoposte a provisioning o eliminate e quali non verranno modificate.

Per aggiornare un deployment archiviato in un repository Git:

  1. Se utilizzi un repository Git privato, assicurati di aver eseguito la connessione al tuo host GitHub e al repository GitHub utilizzando Cloud Build per fornire l'accesso di Infra Manager al tuo repository.

  2. Per visualizzare l'anteprima del deployment:

    
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    gcloud infra-manager previews create projects/PROJECT_ID/locations/LOCATION/previews/PREVIEW_ID \
    --service-account projects/SERVICE_ACCOUNT_PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT \
    --git-source-repo="GIT_REPO" \
    --git-source-directory="DIRECTORY" \
    --git-source-ref="REF" \
    --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 Infrastructure Manager.
  • LOCATION è la località in cui viene eseguito Infra Manager. Consulta Località di Infrastructure Manager per l'elenco delle località valide.
  • PREVIEW_ID è l'identificatore dell'anteprima che specifichi. Per informazioni dettagliate sui vincoli relativi all'identificatore dell'anteprima, consulta Nome anteprima.
  • SERVICE_ACCOUNT è il nome del account di servizio che utilizzi per chiamare Infra Manager.
  • SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto del service account. In genere, si tratta dello stesso progetto in cui viene eseguito Infra Manager.
  • GIT_REPO: il repository Git.
  • DIRECTORY: la directory contenente la configurazione Terraform.
  • REF: il riferimento Git della configurazione. Il riferimento è facoltativo. Se non specifichi il riferimento, viene utilizzato il ramo predefinito configurato del repository Git.
  • INPUT_1_NAME=VALUE e INPUT_2_NAME=VALUE: 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 l'anteprima. Per l'elenco delle versioni supportate, consulta la sezione Versione di Terraform supportata. Se rimuovi questo flag facoltativo, per impostazione predefinita viene utilizzata l'ultima versione del Livello senza costi di Terraform (1.5.7) supportata. Per visualizzare l'anteprima utilizzando una versione a pagamento (ad esempio 1.16.5), devi specificare esplicitamente la versione. Le anteprime non comportano addebiti per le versioni di Terraform a pagamento.

  • (Facoltativo) ANNOTATION_KEY e ANNOTATION_VALUE rappresentano una coppia chiave-valore di testo in formato libero che può essere associata ai tuoi deployment 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 viene utilizzato dal deployment. Imposta su 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 Utilizza il provider Terraform per Google Cloud.

I campi del deployment, come la configurazione Terraform, le variabili e il account di servizio, vengono uniti automaticamente nell'anteprima, a meno che non specifichi nuovi valori nel comando di anteprima.

Ora che hai creato un'anteprima, puoi esportare e visualizzare i risultati per esaminare il piano per il deployment.

Dopo aver visualizzato l'anteprima di un deployment, puoi crearlo per eseguire il provisioning delle risorse. Per maggiori dettagli, consulta esegui il deployment delle risorse.

Passaggi successivi