Benytt Terraform til å installere dine skytjenester
Hvorfor du skal bruke Terraform
Terraform hjelper deg med å holde kontroll på din infrastruktur.
Terraform gir deg også muligheten til å versjonere den.
For å demonstrere dette går jeg gjennom en enkel installasjon av terraform og hvordan du kommer i gang.
Ved hjelp av Terraform skal jeg installere Azure kubernetes service.
Installasjon av Terraform, Azure CLI og Microsoft Tenant
Du finner Terraform installasjon her
Lag en mappe som heter aks-demo og pakk ut terraform.exe i samme mappe.
Installer Azure CLI. Du finner installasjonsinstruksjoner her
Hvis du ikke har en Azure tenant, kan du opprette en gratis test konto her
Start VS code
Opprett en fil som heter main.tf
terraform { required_providers { azurerm = { source = "hashicorp/azurerm" version = "4.32.0" } } } provider "azurerm" { features {} subscription_id = var.subscription_id }
VS code har en extension for Terraform som gjør det enklere å jobbe med Terraform.
Da blir det enklere å skrive koden og du får syntax highlighting.
Opprett en fil som heter variables.tf.
variable "subscription_id" { description = "Azure Subscription ID" type = string default = "ditt-subscription-id" } variable "location" { description = "Azure region hvor ressursene skal opprettes" type = string default = "norwaywest" # Eller en annen gyldig region } variable "resource_group_name" { description = "Navn på resource group" type = string default = "aks-rg" } variable "aks_cluster_name" { description = "Navnet på AKS cluster" type = string default = "autom8-no-aks-cluster" } variable "dns_prefix" { description = "DNS prefix for AKS cluster" type = string default = "autom8noakscluster" }
Opprett en fil som heter aks.tf.
variable "subscription_id" { description = "Azure Subscription ID" type = string default = "ditt-subscription-id" } variable "location" { description = "Azure region hvor ressursene skal opprettes" type = string default = "norwaywest" # Eller en annen gyldig region } variable "resource_group_name" { description = "Navn på resource group" type = string default = "aks-rg" } variable "aks_cluster_name" { description = "Navnet på AKS cluster" type = string default = "autom8-no-aks-cluster" } variable "dns_prefix" { description = "DNS prefix for AKS cluster" type = string default = "autom8noakscluster" }
Logg på Azure
Åpne en terminal i VS code og logg på Azure med kommandoen:
az login
Initialiser Terraform
terraform init

Terraform plan
Dette vil vise deg hva terraform skal opprettes i Azure
Du kan se i bildet under at det er 2 ressurser som blir lagt til
Ressursgruppen og AKS clusteret
terraform plan

Terraform apply
Dette vil opprette ressursene i Azure
Du må bekrefte at du vil opprette ressursene ved å skrive "yes" når du blir spurt
terraform apply
Terraform destroy
Bruk destroy kommandoen for å fjerne alle ressurser
terraform destroy
Se helheten
Hvis du legger terraform koden din i et GitHub repository, kan du bruke GitHub Actions til å deploye din infrastruktur.
Du kan dele koden med flere og ha kontroll på alt av din infrastruktur.
Når du ikke trenger infrastrukturen din lengre så kan du ta destroy på alt eller fjerne de delene du ikke trenger lengre.
Dette eksempelet er veldig enkelt, men det viser hvor fort du kan få et AKS cluster opp og kjøre.
Anbefaler å se på denne linken for å utforske Terraform videre: