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

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

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: