Vai al contenuto

Installazione di Terraform

Terraform è uno strumento di infrastructure-as-code che consente di definire, eseguire il provisioning e gestire risorse cloud tramite file di configurazione dichiarativi. Con il provider OpenStack, Terraform può distribuire VM, reti, volumi, gruppi di sicurezza e altro ancora, il tutto sottoposto a controllo di versione e riproducibile.

Questo capitolo descrive come installare Terraform e configurarlo per la piattaforma OpenStack.

Prerequisiti

  • Conoscenze di base del sistema operativo Linux (shell)
  • Accesso a una VM Linux o a una workstation in esecuzione (Ubuntu/Debian nel nostro esempio) con una porta aperta (uscita 443) verso l'API OpenStack
  • Application Credentials (clouds.yaml), vedere Application Credentials

I passaggi da eseguire sono:

  • Installazione del binario Terraform
  • Configurazione del provider OpenStack
  • Inizializzazione e un test di esecuzione

Note

Terraform legge lo stesso file clouds.yaml dell'OpenStack CLI. Si assicuri che sia posizionato in ~/.config/openstack/clouds.yaml prima di iniziare.

Passaggi:

0) Installare Terraform (Ubuntu / Debian)

Aggiunga il repository APT di HashiCorp e installi Terraform:

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

sudo apt update
sudo apt install -y terraform

Verifichi l'installazione:

terraform -version

Alternativa: download manuale del binario

Per i sistemi non Debian, scarichi il binario da https://developer.hashicorp.com/terraform/downloads e lo posizioni nel Suo PATH.

1) Configurare il provider OpenStack

Crei una directory di lavoro per il Suo progetto Terraform e aggiunga un file provider.tf:

mkdir -p ~/terraform-openstack && cd ~/terraform-openstack
vim provider.tf
terraform {
  required_providers {
    openstack = {
      source  = "terraform-provider-openstack/openstack"
      version = "~> 1.53"
    }
  }
}

provider "openstack" {
  cloud = "openstack"
}

Il valore cloud = "openstack" deve corrispondere alla chiave di primo livello nel Suo clouds.yaml. Terraform utilizza lo stesso file dell'OpenStack CLI, non sono necessarie credenziali separate.

2) Inizializzare il progetto

terraform init

Terraform scarica il plugin del provider OpenStack e crea una directory .terraform/. Dovrebbe apparire un messaggio che conferma l'inizializzazione riuscita.

3) Testare con una risorsa minima

Crei un file main.tf che legge un elenco di immagini (sola lettura, nessuna risorsa creata):

data "openstack_images_image_v2" "ubuntu" {
  name        = "Ubuntu 24.04"
  most_recent = true
}

output "ubuntu_image_id" {
  value = data.openstack_images_image_v2.ubuntu.id
}

Esegua un piano: questo convalida la connettività e l'autenticazione senza creare nulla:

terraform plan

Se tutto è configurato correttamente, Terraform si connette all'API OpenStack, risolve l'immagine Ubuntu 24.04 e ne stampa l'ID.

Congratulazioni, la Sua installazione di Terraform è operativa!

Per esempi di distribuzione completi (VM, volumi), vedere: Infrastructure as Code

Per maggiori informazioni sul provider OpenStack, consulti: Terraform OpenStack Provider Documentation