Oprettelse af genanvendelige moduler
Lær at skrive Deres egne Terraform-moduler ved at definere inputs, outputs og resources til opbygning af modulære og fleksible konfigurationer.
Oprettelse af genanvendelige moduler er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.
Byg dine egne Terraform-moduler
I den forrige lektion lærte vi om at bruge eksisterende Terraform-moduler. Nu går vi i dybden med at oprette dine egne genanvendelige moduler!
Ved at udvikle moduler kan du indkapsle almindelige infrastrukturmønstre, så dine konfigurationer bliver renere, mere konsistente og nemmere at vedligeholde.
Organisering af dine modulfiler
Et Terraform-modul er grundlæggende en samling af .tf-filer, der er gemt i en dedikeret mappe.
En modulmappe indeholder som minimum:
variables.tf: Definerer inputvariabler for modulet.main.tf: Indeholder de faktiske ressourceerklæringer.outputs.tf: Definerer outputværdier fra modulet.
Du kan også inkludere versions.tf til provider-krav og README.md til dokumentation.
Modulinput: Variabler
For at gøre dit modul fleksibelt skal du definere inputvariabler. De giver brugerne af dit modul mulighed for at tilpasse dets funktion uden at ændre modulets kernekode.
Variabler defineres ved hjælp af en variable-blok, hvor du angiver en description, en type og eventuelt en default-værdi.
Eksempel: Definition af en modulvariabel
Sådan kan du definere en variabel for en instanstype i modulets variables.tf-fil:
# variables.tf
variable "instance_type" {
description = "The EC2 instance type to use."
type = string
default = "t2.micro"
}Modulressourcer: Den centrale logik
Kernen i dit modul er dets ressourceerklæringer. Det er de faktiske cloud-ressourcer, som modulet klargør.
Du placerer disse ressourceblokke, f.eks. en AWS EC2-instans eller en S3-bucket, i modulets main.tf-fil.
Det er vigtigt, at ressourcer i modulet ofte bruger de inputvariabler, du har defineret.
Ressourceerklæring ved hjælp af input
Lad os erklære en EC2-instans i main.tf ved hjælp af vores instance_type-variabel:
# main.tf
resource "aws_instance" "web_server" {
ami = "ami-0abcdef1234567890" # Example AMI ID
instance_type = var.instance_type
tags = {
Name = "MyWebServer"
}
}Moduloutput: Deling af oplysninger
Ligesom moduler modtager input, kan de også levere outputværdier. De er nyttige til at eksportere oplysninger om de ressourcer, modulet har oprettet.
Du kan f.eks. have brug for at vise den offentlige IP-adresse for en EC2-instans eller ARN'en for en S3-bucket.
Output defineres i outputs.tf ved hjælp af en output-blok.
Definering af en moduloutputværdi
Sådan definerer du et output for den offentlige IP-adresse for vores EC2-instans i outputs.tf:
# outputs.tf
output "instance_public_ip" {
description = "The public IP address of the EC2 instance."
value = aws_instance.web_server.public_ip
}Kald af dit nye modul
Når modulet er defineret, kan du bruge det i en rodkonfiguration (eller et andet modul) på samme måde som ethvert andet modul.
Du angiver source (stien til din modulmappe) og sender værdier til modulets inputvariabler.
# root_config/main.tf
module "my_web_server_module" {
source = "../my-ec2-module" # Path to your module
instance_type = "t3.small" # Override default
}
output "web_server_ip" {
value = module.my_web_server_module.instance_public_ip
}Kontrol af modulkomponenter
Du har lært om de vigtigste filer i et Terraform-modul. Hvilken fil bruges primært til at definere værdier, der kan sendes ind i modulet?
Opsummering: Oprettelse af genanvendelige moduler
Godt gået! Du ved nu, hvordan du opretter dine egne Terraform-moduler.
- Moduler er mapper, der indeholder
.tf-filer. - Brug
variables.tftil input. - Placér ressource-definitioner i
main.tf. - Definér output i
outputs.tffor at eksponere data.
Denne færdighed er afgørende for at opbygge skalerbar, vedligeholdelsesvenlig og ensartet infrastruktur som kode.
Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 142
- Lektioner
- 568
Ofte stillede spørgsmål
Er lektionen “Oprettelse af genanvendelige moduler” gratis?
Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Oprettelse af genanvendelige moduler”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Oprettelse af genanvendelige moduler”?
Lær at skrive Deres egne Terraform-moduler ved at definere inputs, outputs og resources til opbygning af modulære og fleksible konfigurationer. Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?
Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Oprettelse af genanvendelige moduler”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?
Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Introduktion til Terraform-moduler
- Oprettelse af genanvendelige moduler
- Brug af arbejdsområder til miljøer
- Udgivelse af moduler i et registry