DevOps-bootcamp · leksjon

Bruk av arbeidsområder for miljøer

Utforsk Terraform-arbeidsområder for å administrere separate tilstander for ulike miljøer (f.eks. utvikling, staging og produksjon) innenfor samme konfigurasjon.

Leksjon 3 av 411 trinn

Bruk av arbeidsområder for miljøer er en gratis leksjon i DevOps-bootcamp på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i DevOps-bootcamp, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva er Terraform-arbeidsområder?

Terraform-arbeidsområder hjelper Dem med å administrere flere, separate tilstander for den samme Terraform-konfigurasjonen. Tenk på dem som separate miljøer, for eksempel «dev», «staging» eller «prod».

Det betyr at De kan bruke ett sett med .tf-filer til å distribuere infrastruktur til forskjellige steder uten å endre koden, noe som fremmer gjenbruk og konsistens.

Arbeidsområdet «default»

Når De initialiserer Terraform i en mappe for første gang (med terraform init), bruker De automatisk arbeidsområdet default.

Alle de første terraform apply-operasjonene lagrer tilstanden i dette default-arbeidsområdet, med mindre De oppretter og velger et annet. Det er alltid tilgjengelig!

Opprette nye arbeidsområder

Bruk kommandoen terraform workspace new for å opprette et nytt miljø. Denne kommandoen bytter også automatisk gjeldende kontekst til det nyopprettede arbeidsområdet.

La oss opprette et dev-arbeidsområde:

terraform workspace new dev

Terraform oppretter deretter en separat tilstand for dette dev-miljøet.

Vise tilgjengelige arbeidsområder

De kan se alle tilgjengelige arbeidsområder i den gjeldende konfigurasjonsmappen ved å bruke kommandoen terraform workspace list.

Det aktive arbeidsområdet markeres med en stjerne (*), slik at De kan holde oversikt over de ulike miljøene.

terraform workspace list

Bytte mellom arbeidsområder

Bruk kommandoen terraform workspace select etterfulgt av navnet på arbeidsområdet for å bytte mellom eksisterende arbeidsområder. Denne kommandoen endrer det aktive miljøet.

La oss bytte tilbake til arbeidsområdet default:

terraform workspace select default

Alle etterfølgende Terraform-operasjoner vil nå gjelde tilstanden til miljøet default.

Bruke «terraform.workspace»

De kan gjøre konfigurasjonene dynamiske ved å referere til navnet på det gjeldende arbeidsområdet ved hjelp av den innebygde variabelen terraform.workspace. Dette er spesielt nyttig når De skal gi ressurser navn eller angi miljøspesifikke tagger.

Prøv å kjøre dette eksempelet. Kjør først terraform init, deretter terraform workspace new dev, og til slutt terraform apply. Legg merke til navnet på bucket-en og taggene.

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
}

Isolerte tilstandsfiler

Det viktigste ved arbeidsområder er at hvert arbeidsområde har sin egen, fullstendig separate tilstandsfil.

Det betyr at ressurser som distribueres i dev-arbeidsområdet, ikke påvirker ressursene i prod-arbeidsområdet, selv om de er definert av de samme konfigurasjonsfilene. Terraform administrerer disse tilstandsfilene i en skjult mappe (.terraform/environments) i arbeidsmappen.

Slette arbeidsområder

Når et miljø ikke lenger trengs, kan De slette arbeidsområdet med terraform workspace delete <name>.

  • Viktig: De kan ikke slette arbeidsområdet som er aktivt.
  • Avgjørende: Sørg alltid for at De har fjernet alle ressurser som er knyttet til arbeidsområdet, ved hjelp av terraform destroy, før De sletter det. Ellers kan foreldreløse ressurser bli værende!
terraform workspace select default
terraform workspace delete dev

Arbeidsområder kontra separate mapper

Arbeidsområder er nyttige for mindre variasjoner av den samme konfigurasjonen, men de er ikke alltid det beste valget. Vurder følgende:

  • Arbeidsområder: Ideelle for små miljøforskjeller (for eksempel antall ressurser og tagger) med det samme grunnleggende infrastrukturoppsettet.
  • Separate mapper: Bedre for vesentlig forskjellige infrastrukturoppsett eller når ulike team administrerer helt separate miljøer.

Velg den tilnærmingen som passer best til prosjektets kompleksitet og teamstruktur.

Kontroll av arbeidsområder

De har lært om Terraform-arbeidsområder. La oss teste forståelsen Deres.

Oppsummering: Arbeidsområder for miljøer

Godt jobbet! De har utforsket Terraform-arbeidsområder, en kraftig funksjon for å administrere flere miljøer fra én enkelt konfigurasjon. Husk disse hovedpunktene:

  • Arbeidsområder gir isolerte tilstandsfiler for ulike miljøer (for eksempel dev og prod).
  • Bruk terraform workspace new, list og select til å administrere dem.
  • Variabelen terraform.workspace gjør det mulig å bruke dynamiske, miljøspesifikke konfigurasjoner.
  • Fjern alltid ressurser før De sletter et arbeidsområde, slik at foreldreløs infrastruktur unngås.

Dette gir en fleksibel og organisert distribusjon av infrastruktur!

Gratis å komme i gang

Lær deg DevOps-bootcamp med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
142
Leksjoner
568

Ofte stilte spørsmål

Er leksjonen «Bruk av arbeidsområder for miljøer» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Bruk av arbeidsområder for miljøer», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i DevOps-bootcamp inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bruk av arbeidsområder for miljøer»?

Utforsk Terraform-arbeidsområder for å administrere separate tilstander for ulike miljøer (f.eks. utvikling, staging og produksjon) innenfor samme konfigurasjon. Du øver på DevOps-bootcamp med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med DevOps-bootcamp?

Ingen tidligere erfaring er nødvendig. DevOps-bootcamp på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Bruk av arbeidsområder for miljøer»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne DevOps-bootcamp-leksjonen?

Ja. Alle DevOps-bootcamp-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til Terraform-moduler
  2. Oppretting av gjenbrukbare moduler
  3. Bruk av arbeidsområder for miljøer
  4. Publisering av moduler i et register
← Tilbake til DevOps-bootcamp