Intensiv DevOps-uddannelse · Lektion

Brug af arbejdsområder til miljøer

Udforsk Terraform-arbejdsområder for at administrere separate tilstande for forskellige miljøer (f.eks. udvikling, staging og produktion) i den samme konfiguration.

Lektion 3 af 411 trin

Brug af arbejdsområder til miljøer er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 3 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.

Hvad er Terraform Workspaces?

Terraform-arbejdsområder hjælper dig med at administrere flere separate tilstande for den samme Terraform-konfiguration. Betragt dem som separate miljøer som 'dev', 'staging' eller 'prod'.

Det betyder, at du kan bruge det samme sæt .tf-filer til at udrulle infrastruktur forskellige steder uden at ændre koden, hvilket fremmer genanvendelighed og ensartethed.

Arbejdsområdet 'default'

Når du initialiserer Terraform for første gang i en mappe (ved hjælp af terraform init), bruger du automatisk arbejdsområdet default.

Alle dine indledende terraform apply-kørsler gemmer deres tilstand i arbejdsområdet default, medmindre du opretter og vælger et andet. Det er altid til stede!

Oprettelse af nye arbejdsområder

Brug kommandoen terraform workspace new for at oprette et nyt miljø. Kommandoen skifter også automatisk den aktuelle kontekst til det nyoprettede arbejdsområde.

Lad os oprette et dev-arbejdsområde:

terraform workspace new dev

Terraform opretter derefter en separat tilstand for dette dev-miljø.

Visning af tilgængelige arbejdsområder

Du kan se alle tilgængelige arbejdsområder i din aktuelle konfigurationsmappe ved hjælp af kommandoen terraform workspace list.

Det aktuelt aktive arbejdsområde markeres med en stjerne (*), så du nemmere kan holde styr på dine forskellige miljøer.

terraform workspace list

Skift mellem arbejdsområder

Hvis du vil skifte mellem eksisterende arbejdsområder, skal du bruge kommandoen terraform workspace select efterfulgt af arbejdsområdets navn. Kommandoen ændrer dit aktive miljø.

Lad os skifte tilbage til arbejdsområdet default:

terraform workspace select default

Alle efterfølgende Terraform-handlinger retter sig nu mod tilstanden for miljøet default.

Brug af 'terraform.workspace'

Du kan gøre dine konfigurationer dynamiske ved at referere til navnet på det aktuelle arbejdsområde ved hjælp af den indbyggede variabel terraform.workspace. Det er perfekt til at navngive ressourcer eller angive miljøspecifikke tags.

Prøv at køre dette eksempel. Kør først terraform init, derefter terraform workspace new dev og til sidst terraform apply. Bemærk navnet på bucket'en og tagsene.

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
}

Isolerede tilstandsfiler

Det vigtigste ved arbejdsområder er, at hvert arbejdsområde har sin egen helt separate tilstandsfil.

Det betyder, at ressourcer, der er udrullet i dit dev-arbejdsområde, ikke påvirker dem i dit prod-arbejdsområde, selvom de er defineret af de samme konfigurationsfiler. Terraform administrerer disse tilstandsfiler i en skjult mappe (.terraform/environments) i din arbejdsmappe.

Sletning af arbejdsområder

Når et miljø ikke længere er nødvendigt, kan du slette dets arbejdsområde ved hjælp af terraform workspace delete <name>.

  • Vigtigt: Du kan ikke slette det aktuelt aktive arbejdsområde.
  • Afgørende: Sørg altid for, at du har destrueret alle ressourcer, der er knyttet til arbejdsområdet, ved hjælp af terraform destroy før du sletter det. Ellers kan der blive efterladt forældreløse ressourcer!
terraform workspace select default
terraform workspace delete dev

Arbejdsområder kontra separate mapper

Arbejdsområder er gode til mindre variationer af den samme konfiguration, men de er ikke altid det bedste valg. Overvej følgende:

  • Arbejdsområder: Ideelle til små miljøforskelle (f.eks. antal ressourcer og tags) med det samme grundlæggende infrastrukturd design.
  • Separate mapper: Bedre til væsentligt forskellige infrastrukturelle designs, eller når forskellige teams administrerer helt separate miljøer.

Vælg den tilgang, der passer bedst til projektets kompleksitet og teamets struktur.

Kontrol af arbejdsområder

Du har lært om Terraform-arbejdsområder. Lad os teste din forståelse.

Opsummering: Arbejdsområder til miljøer

Godt gået! Du har udforsket Terraform-arbejdsområder, en effektiv funktion til at administrere flere miljøer fra én konfiguration. Husk disse vigtige pointer:

  • Arbejdsområder giver isolerede tilstandsfiler til forskellige miljøer (f.eks. dev og prod).
  • Brug terraform workspace new, list og select til at administrere dem.
  • Variablen terraform.workspace gør det muligt at bruge dynamiske, miljøspecifikke konfigurationer.
  • Destruer altid ressourcer, før du sletter et arbejdsområde, så du undgår forældreløs infrastruktur.

Det giver en fleksibel og velorganiseret udrulning af infrastruktur!

Gratis at komme i gang

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 “Brug af arbejdsområder til miljøer” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Brug af arbejdsområder til miljøer”, 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 “Brug af arbejdsområder til miljøer”?

Udforsk Terraform-arbejdsområder for at administrere separate tilstande for forskellige miljøer (f.eks. udvikling, staging og produktion) i den samme konfiguration. 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 3 af 4.

Hvor lang tid tager lektionen “Brug af arbejdsområder til miljøer”?

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

  1. Introduktion til Terraform-moduler
  2. Oprettelse af genanvendelige moduler
  3. Brug af arbejdsområder til miljøer
  4. Udgivelse af moduler i et registry
← Tilbage til Intensiv DevOps-uddannelse