Använda arbetsytor för miljöer
Utforska Terraform-arbetsytor för att hantera separata state-filer för olika miljöer (t.ex. utveckling, staging och produktion) i samma konfiguration.
Använda arbetsytor för miljöer är en gratis lektion i Terraform som Infrastructure as Code på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Terraform som Infrastructure as Code, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Terraform som Infrastructure as Code innehåller totalt 4 lektioner.
Vad är Terraform-arbetsytor?
Terraform-arbetsytor hjälper dig att hantera flera separata tillstånd för samma Terraform-konfiguration. Se dem som separata miljöer, till exempel ”dev”, ”staging” eller ”prod”.
Det innebär att du kan använda samma uppsättning .tf-filer för att distribuera infrastruktur till olika platser utan att ändra koden, vilket främjar återanvändning och konsekvens.
Arbetsytan ”default”
När du initierar Terraform för första gången i en katalog (med terraform init) använder du automatiskt arbetsytan default.
Alla dina inledande terraform apply-åtgärder lagrar sitt tillstånd i arbetsytan default, om du inte skapar och väljer en annan arbetsyta. Den finns alltid!
Skapa nya arbetsytor
Om du vill skapa en ny miljö använder du kommandot terraform workspace new. Kommandot växlar också automatiskt den aktuella kontexten till den nyskapade arbetsytan.
Vi skapar en arbetsyta för dev:
terraform workspace new devTerraform skapar sedan ett separat tillstånd för miljön dev.
Visa tillgängliga arbetsytor
Du kan se alla tillgängliga arbetsytor i den aktuella konfigurationskatalogen med kommandot terraform workspace list.
Den aktiva arbetsytan markeras med en asterisk (*), så att du enkelt kan hålla reda på dina olika miljöer.
terraform workspace listVäxla mellan arbetsytor
Om du vill växla mellan befintliga arbetsytor använder du kommandot terraform workspace select, följt av arbetsytans namn. Kommandot ändrar den aktiva miljön.
Vi växlar tillbaka till arbetsytan default:
terraform workspace select defaultAlla efterföljande Terraform-åtgärder riktas nu mot tillståndet för miljön default.
Använda ”terraform.workspace”
Du kan göra dina konfigurationer dynamiska genom att hämta namnet på den aktuella arbetsytan med den inbyggda variabeln terraform.workspace. Det passar perfekt när du ska namnge resurser eller ange miljöspecifika taggar.
Prova att köra det här exemplet. Kör först terraform init, sedan terraform workspace new dev och slutligen terraform apply. Observera namnet på bucketen och taggarna.
provider "aws" {
region = "us-east-1" # Or your preferred region
}
resource "aws_s3_bucket" "example" {
bucket = "my-unique-bucket-${terraform.workspace}-12345"
acl = "private"
tags = {
Environment = terraform.workspace
ManagedBy = "CoddyKit"
}
}
output "bucket_name" {
description = "Name of the S3 bucket created."
value = aws_s3_bucket.example.bucket
}Isolerade tillståndsfiler
Den viktigaste egenskapen hos arbetsytor är att varje arbetsyta har en egen helt separat tillståndsfil.
Det innebär att resurser som distribueras i arbetsytan dev inte påverkar resurserna i arbetsytan prod, även om de definieras av samma konfigurationsfiler. Terraform hanterar dessa tillståndsfiler i en dold katalog (.terraform/environments) i arbetskatalogen.
Ta bort arbetsytor
När en miljö inte längre behövs kan du ta bort dess arbetsyta med terraform workspace delete <name>.
- Viktigt: Du kan inte ta bort den aktiva arbetsytan.
- Avgörande: Kontrollera alltid att du har förstört alla resurser som hör till arbetsytan med
terraform destroyinnan du tar bort den. Annars kan övergivna resurser bli kvar!
terraform workspace select default
terraform workspace delete devArbetsytor jämfört med separata kataloger
Arbetsytor passar bra för mindre variationer av samma konfiguration, men är inte alltid det bästa valet. Tänk på följande:
- Arbetsytor: Idealiska för små miljöskillnader (till exempel antal resurser och taggar) med samma grundläggande infrastrukturdesign.
- Separata kataloger: Bättre för väsentligt olika infrastrukturdesigner eller när olika team hanterar helt separata miljöer.
Välj det tillvägagångssätt som bäst passar projektets komplexitet och teamets struktur.
Kontroll av arbetsytor
Du har lärt dig om Terraform-arbetsytor. Nu testar vi dina kunskaper.
Sammanfattning: arbetsytor för miljöer
Bra jobbat! Du har utforskat Terraform-arbetsytor, en kraftfull funktion för att hantera flera miljöer från en enda konfiguration. Kom ihåg följande:
- Arbetsytor tillhandahåller isolerade tillståndsfiler för olika miljöer (till exempel dev och prod).
- Använd
terraform workspace new,listochselectför att hantera dem. - Variabeln
terraform.workspacemöjliggör dynamiska, miljöspecifika konfigurationer. - Förstör alltid resurser innan du tar bort en arbetsyta, så att övergiven infrastruktur undviks.
Det här möjliggör flexibel och välorganiserad infrastrukturdistribution!
Lär dig Terraform som Infrastructure as Code 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
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Använda arbetsytor för miljöer” gratis?
Ja – hela texten till ”Använda arbetsytor för miljöer” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Terraform som Infrastructure as Code, kan Ni uppgradera till CoddyKit PRO. Kursen i Terraform som Infrastructure as Code innehåller totalt 4 lektioner.
Vad lär jag mig i ”Använda arbetsytor för miljöer”?
Utforska Terraform-arbetsytor för att hantera separata state-filer för olika miljöer (t.ex. utveckling, staging och produktion) i samma konfiguration. Ni övar på Terraform som Infrastructure as Code 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 Terraform som Infrastructure as Code?
Du behöver inga förkunskaper. Utbildningen i Terraform som Infrastructure as Code 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 3 av 4.
Hur lång tid tar lektionen ”Använda arbetsytor för miljöer”?
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 Terraform som Infrastructure as Code-lektionen?
Ja. Varje Terraform som Infrastructure as Code-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
- Introduktion till Terraform-moduler
- Skapa återanvändbara moduler
- Använda arbetsytor för miljöer
- Publicera moduler i ett registry