Grunnleggende om state-håndtering
Forstå konseptet Terraform state, hvorfor det er avgjørende for å holde oversikt over distribuerte ressurser, og hvordan den lokale state-filen håndteres.
Grunnleggende om state-håndtering 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-tilstand?
Terraform-tilstanden fungerer som et minne for infrastrukturen Deres. Det er et øyeblikksbilde av ressursene Terraform administrerer.
Tenk på den som en viktig database som holder oversikt over det Terraform har bygget og konfigurert i den virkelige verden (hos skyleverandøren Deres).
Hvorfor tilstanden er viktig
Tilstanden er viktig fordi den lar Terraform:
- Koble ressurser: Vite hvilken reell skyressurs som tilsvarer hvilken ressursblokk i konfigurasjonen Deres.
- Holde oversikt over metadata: Lagre attributter for ressurser som ikke finnes i konfigurasjonen, for eksempel ID-er eller IP-adresser.
- Planlegge endringer: Sammenligne den ønskede tilstanden (konfigurasjonen Deres) med den gjeldende tilstanden (tilstandsfilen) for å finne ut hva som må opprettes, oppdateres eller slettes.
Tilstandens rolle i arbeidsflyten
Når De kjører terraform apply, ser Terraform først på .tf-filene Deres for å forstå hva De ønsker. Deretter konsulterer Terraform tilstandsfilen for å se hva som finnes nå.
Ved å sammenligne disse to danner Terraform en «plan» for å oppnå det ønskede infrastrukturoppsettet. Etter at endringene er utført, oppdaterer Terraform tilstandsfilen med den nye virkeligheten.
Møt `terraform.tfstate`
Som standard lagrer Terraform tilstanden lokalt i en fil som heter terraform.tfstate, i arbeidskatalogen Deres.
Denne filen er et JSON-dokument som inneholder en omfattende kobling mellom konfigurasjonen Deres og ressursene i den virkelige verden.
Vår første ressurs
La oss bruke en enkel null_resource for å se hvordan tilstanden opprettes. Denne ressursen oppretter ingenting i skyen, men Terraform holder likevel oversikt over den.
Lagre dette som main.tf:
resource "null_resource" "my_example" {
triggers = {
always_run = timestamp()
}
}Opprette tilstandsfilen
Initialiser først Terraform, og bruk deretter konfigurasjonen for å opprette ressursen og filen terraform.tfstate.
Kjør disse kommandoene i terminalen Deres:
terraform init
terraform apply --auto-approveListe over ressurser i tilstanden
Når apply er ferdig, har De en terraform.tfstate-fil. De kan undersøke innholdet ved hjelp av Terraform CLI-kommandoer.
Bruk terraform state list for å se alle ressursene som spores i tilstanden:
terraform state listVise ressursdetaljer
For å hente detaljert informasjon om en bestemt ressurs fra tilstandsfilen bruker De terraform state show etterfulgt av ressursadressen.
Prøv med vår null_resource:
terraform state show null_resource.my_exampleIkke rediger tilstanden manuelt!
Filen terraform.tfstate er kritisk og kompleks. Rediger den aldri direkte for hånd.
Manuelle endringer kan ødelegge tilstanden og føre til:
- Inkonsistent infrastruktur.
- At Terraform mister oversikten over ressurser.
- Uventet sletting eller opprettelse av ressurser.
Bruk alltid Terraform CLI-kommandoer (for eksempel terraform state mv) til å endre tilstanden.
Kontroll av tilstandsbehandling
Hvilke av følgende påstander om Terraform-tilstand er riktige?
Oppsummering av tilstandsbehandling
I denne leksjonen utforsket vi Terraform-tilstand, en viktig komponent for å holde oversikt over infrastrukturen Deres.
- Vi lærte at tilstanden kobler konfigurasjonen Deres til ressurser i den virkelige verden.
- Den lokale tilstandsfilen heter
terraform.tfstate. - Kommandoer som
terraform state listogterraform state showhjelper med å undersøke tilstanden. - Rediger aldri tilstandsfilen manuelt, slik at De unngår at den blir ødelagt.
Å forstå tilstanden er grunnleggende for effektiv bruk av Terraform!
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 «Grunnleggende om state-håndtering» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien DevOps-bootcamp, inkludert «Grunnleggende om state-håndtering», 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 «Grunnleggende om state-håndtering»?
Forstå konseptet Terraform state, hvorfor det er avgjørende for å holde oversikt over distribuerte ressurser, og hvordan den lokale state-filen håndteres. 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 «Grunnleggende om state-håndtering»?
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
- Providers og ressurser
- Variabler og utdata
- Grunnleggende om state-håndtering
- Moduler og gjenbruk av kode