Introduzione a Terraform

Introduzione a Terraform

In tempi precedenti, il processo di fornitura dell'infrastruttura IT era un manuale e molto estenecente. Gli amministratori/gestori di server devono impostare fisicamente i server. Inoltre, questo approccio è stato costoso e incline a numerosi errori, in particolare errori di fabbricazione umana. Inoltre, mancava l'agilità. Con la dimensione in evoluzione dell'infrastruttura IT, si è sentito sviluppare un nuovo approccio per gestire questa condizione. Ciò ha dato alla luce la cosiddetta infrastruttura come tecnica di codice (IAC).

L'infrastruttura come codice (IAC) è una tecnica in cui i componenti di una rete, come le istanze di calcolo, le reti, le macchine virtuali, ecc., vengono gestiti automaticamente invece di eseguire manualmente lo stesso processo. Terraform è un prodotto di tecniche a base IAC. L'obiettivo principale di Terraform è di orchestrare la distribuzione di risorse o servizi su varie piattaforme di infrastrutture. Queste piattaforme possono essere fornitori di servizi basati su cloud, macchine virtuali, ecc.

Cosa esploreremo qui

Dopo una piccola introduzione a IAC e Terraform, continueremo con l'installazione di Terraform e come funziona. Procediamo con l'installazione di Terraform su Ubuntu 20.04.

Come installare Terraform

Un pacchetto di Terraform ufficiale per Ubuntu/Debian, CentOS/RHEL, Fedora e Amazon Linux è distribuito dai pacchetti di queste distribuzioni. I binari precompilati sono disponibili anche per il download dal sito Web di Terraform. Salva questo file binario sul tuo sistema, estrailo ed eseguilo. Assicurati che il percorso sia impostato correttamente. In alternativa, possiamo compilarlo usando il codice sorgente.

Passo 1. Inizia installando pacchetti GNUPG, Software-Properties Common e Curl. Questo passaggio è per la convalida della firma GPG fornita da Hashicorp. Per eseguire questa attività, aprire un terminale (fare clic contemporaneamente ai tasti Ctrl+Alt+T) ed eseguire il comando seguente:

$ sudo apt-get update && sudo apt-get install -y gnupg software-properties-mone

Passo 2. Per aggiungere la chiave GPG Hashicorp, eseguire il seguente comando:

$ CURL -FSSL HTTPS: // APT.rilasci.Hashicorp.com/gpg | sudo Apt-Key Aggiungi -

Passaggio 3. Ora, procedi ad aggiungere repository eseguendo il seguente comando:

$ sudo apt-addd-repository "deb [arch = amd64] https: // apt.rilasci.Hashicorp.com $ (lsb_release -cs) main "

Passaggio 4. Dopo aver aggiunto il repository, siamo tutti impostati per aggiungere il repository per l'installazione di Terraform. Usa il seguente comando:

$ sudo apt-get update && sudo apt-get install Terraform

Passaggio 5. Infine, verifica se Terraform è installato sul sistema utilizzando il seguente comando:

$ Terraform -Version

Funzionante di Terraform

Terraform utilizza le sue API per fornire e gestire risorse su diverse piattaforme e servizi basati su cloud. Terraform ha sviluppato provider per lavorare con qualsiasi piattaforma o servizio utilizzando un'API. Ci sono oltre 1700 fornitori per la gestione di molte risorse e servizi. Il registro Terraform contiene fornitori che sono pubblicamente disponibili. Ad esempio, ha Amazon AWS, Microsoft Azure, Google, GCP, ecc.

Ci sono principalmente tre fasi in un flusso di lavoro Terraform:

  1. Scrivere: In questa fase, le risorse sono definite per un caso particolare. Ad esempio, si potrebbe essere interessati a distribuire un server Web con un VPC personalizzato e configurarlo con un bilanciamento del carico e gruppi di sicurezza.
  1. Piano: Questa fase sviluppa un piano di esecuzione che descrive quali modifiche verranno apportate all'infrastruttura. Ad esempio, mostra quali risorse verranno aggiunte, aggiornate o distrutte.
  1. Fare domanda a: Questa è la fase finale in cui le operazioni previste vengono finalmente applicate dopo la conferma. Questi sono applicati in un ordine specifico.

Terraform utilizza i file di configurazione per definire come dovrebbe essere un'infrastruttura. È soprattutto utile per il provisioning di un'infrastruttura che cresce con il tempo. Ad esempio, aggiungiamo una VM all'interno di un VPC a un'infrastruttura. Quindi, un altro giorno, aggiungiamo più macchine virtuali, un bilanciamento del carico, ecc. Ciò aumenta la complessità complessiva dell'infrastruttura.

Vediamo come Terraform Workflow gestisce questa complessità:

  1. Innanzitutto, dobbiamo creare un file Terraform e dichiarare le risorse principali e altre cose necessarie qui. Salva il file con a .estensione TF.
  1. Successivamente, eseguiamo un comando Terraform "Terraform Plan", che confronta lo stato effettivo con lo stato desiderato.
  1. Infine, quando tutto sembra perfetto, applichiamo il piano sopra e facciamo girare le risorse che abbiamo definito in precedenza nel file Terraform.

In questo modo, Terraform lavora per la distribuzione del primo giorno, generando qualcosa dal nulla. Se vogliamo aggiungere nuove risorse alla configurazione, dobbiamo dichiararle nel file di configurazione. Il Terraform controllerà lo stato iniziale con lo stato desiderato e creerà lo stato desiderato. Terraform apporta solo quei cambiamenti necessari per raggiungere lo stato desiderato.

Ottenere aiuto

Per elencare tutti i comandi disponibili con Terraform, utilizzare il seguente comando "Guida":

$ Terraform -help

Per esplorare un comando particolare, ad esempio, "Piani", usa il seguente comando:

$ Terraform -Help Plan

Conclusione

In questo post, abbiamo visto una visione di alto livello di Terraform. Terraform è un argomento molto interessante per imparare e semplificare la complessità delle infrastrutture. Controlla articoli Linuxhint per tutorial più interessanti.