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 attivare una configurazione Terraform specifica. Prima di creare un nuovo deployment o aggiornarne uno esistente, puoi visualizzarne l'anteprima per verificare le risorse di cui è pianificato 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
- Attiva Infra Manager.
- Assicurati di disporre delle autorizzazioni IAM necessarie per creare le anteprime:
roles/config.admin
. - Assicurati di disporre di un account di servizio con le autorizzazioni necessarie. Per maggiori dettagli, consulta Configurare l'account di servizio.
- Identifica la configurazione Terraform di cui vuoi visualizzare l'anteprima. Assicurati che questa configurazione Terraform sia conforme ai vincoli, inclusa la verifica che non contenga dati sensibili.
Se vuoi archiviare la configurazione di Terraform in un bucket di archiviazione, assicurati che sia caricata in un bucket Cloud Storage. Per ulteriori dettagli, consulta Caricare 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 sul tuo computer locale.
Visualizzare l'anteprima di un nuovo deployment
La configurazione Terraform di cui viene visualizzata l'anteprima può trovarsi in un bucket di archiviazione o in un repository Git.
Anteprima utilizzando una configurazione Terraform archiviata in un bucket Cloud Storage
Assicurati che la configurazione Terraform sia caricata in un bucket Cloud Storage. Per ulteriori dettagli, consulta Caricare 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 sul tuo computer locale.
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 \ --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
Sostituisci:
- PROJECT_ID è l'ID progetto in cui viene eseguito Infrastructure Manager.
- LOCATION è la posizione in cui viene eseguito Infra Manager. Consulta Località di Infrastructure Manager per l'elenco delle località valide.
- PREVIEW_ID è l'identificatore dell'anteprima specificato. Consulta Nome dell'anteprima per informazioni dettagliate sui vincoli dell'identificatore dell'anteprima.
- SERVICE_ACCOUNT è il nome dell'account di servizio che utilizzi per chiamare Infra Manager.
- SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto dell'account di servizio. In genere si tratta dello stesso progetto in cui viene eseguito 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 maggiori dettagli, consulta Utilizzare gli oggetti con versione.
Se il bucket di archiviazione è il percorso principale della configurazione di Terraform,OBJECT_NAME è facoltativo.
INPUT_1_NAME=VALUE e INPUT_2_NAME=VALUE: 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 collegata ai deployment di Infra Manager. Per saperne di più sull'uso e sulle limitazioni di annotazioni ed etichette, consulta Annotazioni ed etichette.
I campi del deployment, come la configurazione, le variabili e l'account di servizio Terraform, vengono uniti automaticamente all'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 di implementazione.
Anteprima utilizzando una configurazione Terraform archiviata in un repository Git
Quando aggiorni un deployment, alcune delle risorse esistenti potrebbero non essere modificate. L'anteprima di un aggiornamento mostra le risorse per le quali è pianificato il provisioning o l'eliminazione e quelle per le quali non è prevista alcuna modifica.
Per aggiornare un deployment archiviato in un repository Git:
Se utilizzi un repository Git privato, assicurati di aver eseguito la connessione all'host GitHub e al repository GitHub utilizzando Cloud Build per fornire a Infra Manager l'accesso al tuo repository.
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 \ --annotation="ANNOTATION_KEY=ANNOTATION_VALUE"
Sostituisci:
- PROJECT_ID è l'ID progetto in cui viene eseguito Infrastructure Manager.
- LOCATION è la posizione in cui viene eseguito Infra Manager. Consulta Località di Infrastructure Manager per l'elenco delle località valide.
- PREVIEW_ID è l'identificatore dell'anteprima specificato. Consulta Nome dell'anteprima per informazioni dettagliate sui vincoli dell'identificatore dell'anteprima.
- SERVICE_ACCOUNT è il nome dell'account di servizio che utilizzi per chiamare Infra Manager.
- SERVICE_ACCOUNT_PROJECT_ID è l'ID progetto dell'account di servizio. 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 configurato predefinito del repository Git.
INPUT_1_NAME=VALUE e INPUT_2_NAME=VALUE: 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'uso e sulle limitazioni di annotazioni ed etichette, consulta Annotazioni ed etichette.
I campi del deployment, come la configurazione, le variabili e l'account di servizio Terraform, vengono uniti automaticamente all'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 di implementazione.
Dopo aver visualizzato l'anteprima di un deployment, puoi crearlo per eseguire il provisioning delle risorse. Per maggiori dettagli, vedi Eseguire il deployment delle risorse.
Passaggi successivi
- Esportare e visualizzare i risultati dell'anteprima
- Utilizza Infra Manager per implementare le risorse.
- Automatizza i deployment.
- Scopri di più su Terraform con Infra Manager.