Hvordan bli kvitt terraformen

Hvordan bli kvitt terraformen
Terraform Taint refererer til en markør som setter en terraformstyrt ressurs som skjemt. En besatt ressurs betyr at den terraformstyrte ressursen er i en dårlig eller uønsket tilstand. Hvis en ressurs er merket som skjemt, vil Terraform gjenskape den eller ødelegge den under neste applikasjon.

Denne korte guiden lærer deg hvordan du bruker Terraform Untaint -funksjonen for å fjerne Taint Markers på en ressurs.

Hvorfor bruke Terraform Taint?

Selv om bruk av terraform -taint kan variere avhengig av hva som må gjøres på de spesifiserte ressursene, inkluderer de vanlige bruksområdene:

  1. Gjenskape ressurser, for eksempel en beregningsmotor eller EC2 -forekomst i tilfelle uønskede modifikasjoner.
  2. Gjenoppbygging av ressurser uten å ødelegge dem, spesielt i utvikling.

Hvordan du tar en ressurs

Terraform Taint -kommandoen lar deg fortelle Terraform at en spesifikk ressurs/objekt er skadet eller i en besatt tilstand. Som nevnt vil dette tvinge Terraform til å gjenoppbygge ressursen merket som besatt under neste plan.

Bruk

Terraform Taint -kommandoen tar syntaks som vist:

Terraform Taint [Alternativer] Adresse

Adressen refererer til adressen til ressursen/objektet for å tilordne smekkemarkøren. Du kan spesifisere en adresse på ressursen ved å bruke formatet som vist:

aws_instance.foo
aws_instance.Bar [1]
modul.foo.modul.bar.aws_instance.Qux

Du kan også overføre følgende alternativer til Taint -kommandoen for å endre atferd:

  1. -Tillatsmissing-Tillatelsesparameteren vil tvinge kommandoen til å lykkes selv om den spesifiserte ressursen mangler.
  2. -Lås = [bool] - Låsparameteren godtar en boolsk sann eller falsk. Hvis den er satt til FALSE, vil den midlertidig deaktivere terraformens lese-/skrivelås på staten under henrettelsen.
  3. -Lockout -Timeout - tvinger Terraform til å prøve på nytt og få en låsetilstand i en spesifikk periode på sekunder. Denne funksjonen er null hvis -låsen er satt til falsk.

Følgende eksempel viser hvordan du oppretter en EC2 -forekomst og bruker Taint -kommandoen for å markere den som skjemt:

terraform
krevde_providers
aws =
Source = "Hashicorp/AWS"
versjon = "-> 3.27 "


krevde_versjon = "> = 0.12 "

leverandør "aws"
profil = "standard"
Region = "Us-East-1"

ressurs "aws_instance" "database_server"
ami = "ami-b7873e35"
instans_type = "T2.mikro "

Merk ressursen som skjemt:

Terraform Taint AWS_Instace.database.server

Når du markerer ressursen som skjemt, utfører du Terraform Plan -kommandoen for å se endringene som vil bli brukt.

Hvordan bruke Terraform Untaint

Hvis du setter en ressurs som skjemt, kan du vende tilbake og fjerne smekkemarkøren ved hjelp av Terraform Untaint -kommandoen.

Kommandoen tar ressurs -IDen som argument:

Terraform Untaint [Alternativer] Adresse

Den godtar lignende argumenter som Terraform Taint -kommandoen.

For å fjerne en smekkemarkør fra ressursen over, bruk for eksempel følgende kommando: for eksempel:

Terraform Untaint AWS_Instace.database.server
Terraform Plan

Den forrige kommandoen vil fjerne smekkemarkøren på ressursen og vise deg endringene som skal brukes på neste terraform gjelder

Konklusjon

I denne guiden lærte du det grunnleggende om Terraform Taint og prosessen for å markere ressursen som skadet. I tillegg ble flere alternativer gitt til Terraform Taint -kommandoen for å endre atferd. Vi håper du fant denne artikkelen nyttig. Vennligst sjekk Linux hint for flere tips og informasjon.