DevOps-bootcamp · Lektion

Variabler och output-värden

Lär dig att använda indatavariabler för att göra konfigurationer flexibla och återanvändbara samt output-värden för att hämta viktig information från den distribuerade infrastrukturen.

Lektion 2 av 412 steg

Variabler och output-värden är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Flexibla konfigurationer

Terraform låter Er definiera infrastrukturen som kod. Men vad gör Ni om Ni vill återanvända koden för olika miljöer eller inställningar?

Det är här variabler och outputs kommer in. De gör konfigurationerna flexibla och enkla att hantera.

Indatavariabler: flexibilitet

Indatavariabler fungerar som parametrar för Terraform-konfigurationerna. De låter Er anpassa delar av infrastrukturen utan att ändra kärnkoden.

  • Undviker hårdkodning av värden direkt i konfigurationen.
  • Gör moduler och konfigurationer återanvändbara.
  • Tillåter olika värden för olika miljöer (till exempel utveckling och produktion).

Deklarera Era variabler

Ni deklarerar indatavariabler i en .tf-fil, ofta med namnet variables.tf. Varje variabel behöver ett unikt namn.

Här är en grundläggande deklaration:

variable "file_content" {
  description = "Content to write to a local file."
  type        = string
}

Typer och standardvärden

Variabler kan ha olika typer, till exempel string, number, bool, list eller map. Ni kan också ange ett standardvärde, vilket gör variabeln valfri.

variable "environment" {
  description = "The deployment environment (e.g., dev, prod)."
  type        = string
  default     = "dev"
}

variable "instance_count" {
  description = "Number of instances."
  type        = number
  default     = 1
}

Använda variabler i kod

När en variabel har deklarerats kan Ni referera till dess värde med prefixet var., följt av variabelns namn (till exempel var.environment).

Det gör att resurserna kan anpassas utifrån den angivna indatan.

resource "local_file" "example" {
  content  = "Hello from ${var.environment}!"
  filename = "example-${var.environment}.txt"
}

Så anger Ni värden

Det finns flera sätt att ange värden för Era variabler:

  • Kommandorad: Använd -var="key=value" med terraform plan eller apply.
  • .tfvars-filer: Skapa en fil som terraform.tfvars eller dev.tfvars.
  • Miljövariabler: Använd TF_VAR_name=value.

Filen terraform.tfvars används ofta för att ange värden:

# terraform.tfvars
environment = "staging"
file_content = "This is some custom content."

Output-värden: extrahera information

Precis som indata-variabler låter dig skicka data in i din konfiguration, låter utdata-värden dig hämta ut data ur den.

  • Visa viktig information om distribuerade resurser (t.ex. IP-adresser och URL:er).
  • Skicka data mellan Terraform-konfigurationer, särskilt när du använder moduler.
  • Gör det enkelt att se vad Terraform har provisionerat.

Deklarera utdata

Du deklarerar utdata-värden i en .tf-fil, som ofta heter outputs.tf. Varje utdata-värde behöver ett unikt namn och ett value-argument.

output "file_name" {
  description = "The name of the generated local file."
  value       = local_file.example.filename
}

Visa utdata-värden

När du har kört terraform apply kan du visa utdata-värdena med kommandot terraform output.

Argumentet value refererar vanligtvis till ett attribut för en resurs, till exempel resource_type.resource_name.attribute.

# After 'terraform apply', run:
terraform output file_name

Variabler och utdata i praktiken

Låt oss kombinera det vi har lärt oss. Det här exemplet använder variabler för innehåll och miljö samt skriver ut filnamnet och innehållet. Skapa dessa tre filer i en katalog:

# main.tf
terraform {
  required_providers {
    local = {
      source = "hashicorp/local"
      version = "~> 2.1"
    }
  }
}

resource "local_file" "message" {
  content  = var.greeting_message
  filename = "hello_${var.env}.txt"
}

# variables.tf
variable "greeting_message" {
  description = "The message content for the file."
  type        = string
  default     = "Hello CoddyKit!"
}

variable "env" {
  description = "Environment name."
  type        = string
  default     = "dev"
}

# outputs.tf
output "generated_filename" {
  description = "The full path of the generated file."
  value       = local_file.message.filename
}

output "file_content_used" {
  description = "The content actually written to the file."
  value       = local_file.message.content
}

Snabbkontroll: Variabler och utdata

Vilka av följande påståenden om Terraform-variabler och utdata är SANNA?

Sammanfattning: Variabler och utdata

Bra jobbat! Du har lärt dig hur du gör dina Terraform-konfigurationer dynamiska:

  • Indata-variabler låter dig definiera parametrar för din infrastruktur.
  • Du kan ange variabelvärden via CLI, .tfvars-filer eller miljövariabler.
  • Utdata-värden hjälper dig att hämta och visa viktig information om dina distribuerade resurser.

Härnäst ska du fördjupa dig i hur Terraform håller reda på din infrastruktur med tillståndshantering!

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Variabler och output-värden” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Variabler och output-värden”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Variabler och output-värden”?

Lär dig att använda indatavariabler för att göra konfigurationer flexibla och återanvändbara samt output-värden för att hämta viktig information från den distribuerade infrastrukturen. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Variabler och output-värden”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Providers och resurser
  2. Variabler och output-värden
  3. Grunderna i state-hantering
  4. Moduler och återanvändning av kod
← Tillbaka till DevOps-bootcamp