Unificata, automatizzata e pronta a trasformare i dati in intelligence.
Scopri come trarre il massimo dai tuoi dati.
Terraform, sviluppato da HashiCorp, è uno strumento IaC (Infrastructure-as-Code) ampiamente utilizzato che consente agli utenti di definire e fornire l'infrastruttura software utilizzando un linguaggio di configurazione di alto livello. Man mano che le organizzazioni adottano sempre più infrastrutture basate su cloud, Terraform è diventato essenziale per la gestione e l'automazione del deployment delle risorse infrastrutturali. Uno dei comandi principali di Terraform è il piano terraform, un passaggio critico nel processo di deployment che garantisce la sicurezza, la prevedibilità e l'efficienza delle modifiche all'infrastruttura.
In questo articolo esamineremo più da vicino questo comando, cosa fa e come interpretarne l'output per le configurazioni Terraform.
Il comando del piano terraform è una parte vitale del flusso di lavoro Terraform che funge da ciclo a secco o da anteprima delle modifiche che Terraform apporterà alla tua infrastruttura. Confronta lo stato corrente dell'infrastruttura con lo stato desiderato definito nei file di configurazione Terraform e mostra le azioni specifiche che Terraform intraprenderà per colmare il divario. Ciò include aggiunte, eliminazioni e modifiche delle risorse, come la creazione di nuove macchine virtuali, il dimensionamento dei database esistenti o la rimozione dei volumi di storage inutilizzati.
La possibilità di visualizzare in anteprima le modifiche apportate al codice di configurazione all'infrastruttura è vantaggiosa in molti modi, tra cui:
Per eseguire il piano terraform, assicurati innanzitutto di aver installato Terraform sulla tua macchina locale. È possibile scaricare e installare la versione appropriata dal sito Web ufficiale di HashiCorp .
Prima di eseguire il comando di pianificazione, è necessario creare un file di configurazione Terraform di base denominato main.tf nella directory di lavoro. Di seguito è riportato un esempio di configurazione semplice che crea una risorsa di macchina virtuale in un provider cloud:
# Configure the cloud provider (replace with your provider details)
provider "aws" {
region = "us-east-1"
}
# Define a virtual machine resource
resource "aws_instance" "my_vm" {
ami = "ami-0f78f7e824d9499e0" # Replace with the desired AMI ID
instance_type = "t2.micro"
}
1. Inizializzazione della directory Terraform
Accedi alla directory di lavoro contenente il file main.tf ed esegui il seguente comando nel terminale:
$ terraform init
Questo comando inizializza la directory Terraform, scarica i plug-in o i moduli necessari menzionati nella configurazione e prepara l'ambiente per lavorare con Terraform.
2. Esegui il piano Terraform
Una volta completata l'inizializzazione, esegui il comando seguente per generare il piano di esecuzione:
$ terraform plan
Questo comando analizza la configurazione Terraform e la confronta con lo stato corrente dell'infrastruttura (se presente). Visualizza quindi un piano dettagliato che descrive le azioni che Terraform intraprenderà per raggiungere lo stato desiderato definito nella configurazione. Il piano mostra in genere le risorse che verranno create, modificate o eliminate
3. Salva l'output del piano
Se si desidera salvare il piano per riferimento futuro o condividerlo con i membri del team, è possibile utilizzare il flag -out con il comando del piano. Ad esempio, il comando seguente salva il piano in un file denominato plan.tfplan:
$ terraform plan -out=plan.tfplan
Il comando del piano terraform visualizza solo l'anteprima delle modifiche. Non apporta modifiche all'infrastruttura. Dopo aver rivisto e approvato il piano, puoi utilizzare il comando di applicazione terraform $ per eseguire le modifiche pianificate.
L'output del piano terraform è generalmente suddiviso in diverse sezioni, ciascuna delle quali offre preziose informazioni approfondite sulle azioni pianificate:
In questa sezione sono elencate le azioni specifiche che Terraform intende eseguire sulle risorse dell'infrastruttura. Queste azioni sono suddivise in tre tipi principali:
Questa sezione fornisce informazioni approfondite su ciascuna risorsa interessata dal piano. Ecco una descrizione dettagliata dei dettagli che in genere si possono trovare:
In questa sezione vengono descritte le modifiche specifiche che verranno applicate alla risorsa. Per le risorse create (contrassegnate da +), verranno elencati gli attributi e i valori corrispondenti che verranno definiti. Per le risorse modificate, verranno visualizzate le modifiche agli attributi esistenti.
L'output del piano spesso si conclude con una sezione di riepilogo che fornisce una panoramica generale delle azioni pianificate. In genere, questo riepilogo suddivide il numero totale di risorse nelle seguenti categorie:
Da aggiungere: Il numero di nuove risorse che verranno create
Da modificare: Il numero di risorse esistenti che verranno modificate
Da distruggere: Il numero di risorse esistenti che verranno eliminate
Quando esegui il piano terraform con la configurazione di esempio che abbiamo creato in precedenza, avrai risultati simili a quelli seguenti:
# $ terraform plan
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# aws_instance.my_vm will be created
resource "aws_instance" "my_vm" {
+ ami = "ami-0f78f7e824d9499e0"
+ instance_type = "t2.micro"
+ tags = {
+ Name = "sample-tag"
}
}
1. Azioni delle risorse: La prima riga indica che Terraform eseguirà le azioni di creazione (+) durante questo piano.
2. Dettagli delle risorse: Nella sezione successiva vengono descritti i dettagli di una singola risorsa, aws_instance.my_vm . Ciò significa che Terraform creerà una nuova istanza AWS EC2 denominata my_vm nel tuo ambiente AWS. I dettagli specificano inoltre l'ID AMI (ami-0f78f7e824d9499e0), il tipo di istanza (t2.micro ) e un tag (Nome = " Sample-tag") che Terraform applicherà alla nuova istanza.
3. Sintesi (implicata): Sebbene non sia esplicitamente mostrato in questo esempio, alla fine di un output del piano più complesso potrebbe essere visualizzato un riepilogo, che indica il numero totale di risorse da creare.
Il comando del piano terraform è la rete di sicurezza prima di applicare le modifiche all'infrastruttura. Di seguito sono riportate alcune pratiche essenziali per massimizzarne i vantaggi:
Esamina le modifiche alle risorse:
Individua i potenziali problemi:
Sfruttare l'output:
Il piano Terraform è uno strumento potente nel workflow Terraform. Offre un metodo sicuro e trasparente per visualizzare in anteprima e convalidare le modifiche all'infrastruttura prima di applicarle. Comprendendo e utilizzando efficacemente il piano Terraform, puoi assicurarti che i deployment siano efficienti, prevedibili e privi di conseguenze indesiderate.
Pure Storage offre le migliori soluzioni di block storage persistente per i deployment Terraform. Portworx® fornisce una data platform completa per tutti i workload di container e Kubernetes Terraform. Con Pure Cloud Block Store™, puoi eseguire qualsiasi workload di database o container nel cloud, proprio come puoi nell'infrastruttura on-premise.
Preparati all'evento più importante a cui parteciperai quest'anno.
Accedi a video e demo on demand per scoprire i vantaggi che Pure Storage ti offre.
Charlie Giancarlo spiega perché il futuro è nella gestione dei dati, non dello storage. Scopri in che modo un approccio unificato trasforma le operazioni IT aziendali.
I workload moderni richiedono velocità, sicurezza e scalabilità AI-ready. Il tuo stack è pronto?