Come sbarazzarsi di Terraform DEAT

Come sbarazzarsi di Terraform DEAT
Terraform Taint si riferisce a un marcatore che imposta una risorsa gestita da Terraform come contaminato. Una risorsa contaminata significa che la risorsa gestita da terraform è in uno stato cattivo o indesiderabile. Se una risorsa è contrassegnata come contaminata, Terraform la ricreterà o la distruggerà durante la prossima applicazione.

Questa breve guida ti insegnerà come utilizzare la funzionalità di Untain Terraform per rimuovere i marcatori di contaminazione su una risorsa.

Perché utilizzare Terraform Taint?

Sebbene l'uso di Terraform DOINT possa variare a seconda di ciò che deve essere fatto sulle risorse specifiche, gli usi comuni includono:

  1. Ricreare risorse, come un motore di calcolo o un'istanza EC2 in caso di modifiche indesiderate.
  2. Ricostruzione di risorse senza distruggerle, specialmente nello sviluppo.

Come contaminare una risorsa

Il comando Terraform Taint ti consente di dire a Terraform che una risorsa/oggetto specifica è danneggiata o in uno stato contaminato. Come accennato, questo costringerà Terraform a ricostruire la risorsa contrassegnata come contaminata durante il piano successivo.

Utilizzo

Il comando Terraform Taint prende la sintassi come mostrato:

Terraform Taint [Options] Indirizzo

L'indirizzo si riferisce all'indirizzo della risorsa/oggetto per assegnare il marcatore. È possibile specificare un indirizzo della risorsa utilizzando il formato come mostrato:

AWS_Instance.foo
AWS_Instance.Bar [1]
modulo.foo.modulo.sbarra.AWS_Instance.qux

È inoltre possibile passare le seguenti opzioni al comando Taint per modificare i comportamenti:

  1. -Ammetto-miss: il parametro di ammissione-miss costringerà il comando ad avere successo anche se manca la risorsa specificata.
  2. -Lock = [bool] - Il parametro di blocco accetta un vero o falso booleano. Se impostato su False, disabiliterà temporaneamente il blocco di lettura/scrittura di Terraform sullo stato durante l'esecuzione.
  3. -blocco -timeout - costringe Terraform a riprovare e ottenere uno stato di blocco per un periodo specificato in secondi. Questa funzione è nulla se il blocco è impostato su falso.

L'esempio seguente mostra come creare un'istanza EC2 e utilizzare il comando taint per contrassegnarlo come contaminato:

Terraform
richiesto_providers
aws =
Source = "Hashicorp/AWS"
versione = "-> 3.27 "


richiesto_version = "> = 0.12 "

Provider "AWS"
profilo = "predefinito"
regione = "US-EAST-1"

risorsa "aws_instance" "database_server"
ami = "ami-b7873e35"
Instance_Type = "T2.micro "

Segna la risorsa come contaminato:

Terraform Taint AWS_Instace.Banca dati.server

Una volta contattata la risorsa come contaminato, eseguire il comando del piano Terraform per vedere le modifiche che verranno applicate.

Come usare la terraform untaint

Se si imposta una risorsa come contaminato, è possibile ripristinare e rimuovere il marcatore di tensione utilizzando il comando Terraform Untaint.

Il comando prende l'ID risorsa come argomento:

Terraform Untain [Opzioni] Indirizzo

Accetta argomenti simili al comando Terraform Taint.

Ad esempio, per rimuovere un indicatore di contaminazione dalla risorsa sopra, utilizzare il comando seguente:

Terraform untaint AWS_Instace.Banca dati.server
Piano Terraform

Il comando precedente rimuoverà il marcatore Taint sulla risorsa e mostrerà le modifiche da applicare sulla prossima Terraform applicazione

Conclusione

In questa guida, hai imparato le basi di Terraform Taint e il processo per contrassegnare la risorsa come danneggiato. Inoltre, sono state fornite diverse opzioni al comando Terraform Taint per modificare i comportamenti. Speriamo che tu abbia trovato questo articolo utile. Controlla il suggerimento di Linux per ulteriori suggerimenti e informazioni.