Jak pozbyć się skażenia Terraform

Jak pozbyć się skażenia Terraform
Terraform Daint odnosi się do markera, który ustanawia zasób zarządzany przez Terraform, jako skażony. Zasoby skażone oznacza, że ​​zasób zarządzany przez Terraform jest w stanie złym lub niepożądanym. Jeśli zasób zostanie oznaczony jako skażony, Terraform go odtworzy lub zniszczy podczas następnej aplikacji.

Ten krótki przewodnik nauczy Cię, jak korzystać z funkcji niekołania Terraform, aby usunąć markery skażeni na zasobach.

Dlaczego warto korzystać z skaży terraform?

Chociaż korzystanie z skazowania Terraform może się różnić w zależności od tego, co należy zrobić na określonych zasobach, wspólne zastosowania obejmują:

  1. Odtwarzanie zasobów, takich jak silnik obliczeniowy lub instancja EC2 w przypadku niechcianych modyfikacji.
  2. Odbudowa zasobów bez ich niszczenia, szczególnie w rozwoju.

Jak skalować zasób

Komenda terraformy TAINT pozwala powiedzieć Terraformowi, że określony zasób/obiekt jest uszkodzony lub w stanie skażonym. Jak wspomniano, zmusi to Terraform do odbudowy zasobu oznaczonego jako skażone podczas następnego planu.

Stosowanie

Komenda terraformy daint przyjmuje składnię, jak pokazano:

Terraform Daint [Options] Adres

Adres odnosi się do adresu zasobu/obiektu, aby przypisać znacznik krępowania. Możesz określić adres zasobu za pomocą formatu, jak pokazano:

AWS_INSTANCE.bla
AWS_INSTANCE.bar [1]
moduł.bla.moduł.bar.AWS_INSTANCE.Qux

Możesz także przekazać następujące opcje do polecenia skazania, aby zmodyfikować zachowania:

  1. -Zezwolenie-parametr zezwolenia zmusi polecenie do sukcesu, nawet jeśli brakuje określonego zasobu.
  2. -lock = [bool] - parametr blokady akceptuje boolean true lub false. Jeśli zostanie ustawiony na false, tymczasowo wyłączy blokadę odczytu/zapisu Terraform w stanie podczas wykonywania.
  3. -Blokada czasu - zmusza Terraform do ponownej ponownej próby i uzyskania stanu blokady przez określony okres w sekundach. Ta funkcja jest zerowa, jeśli -lock jest ustawiony na false.

Poniższy przykład pokazuje, jak utworzyć instancję EC2 i użyć polecenia skazania, aby oznaczyć ją jako skażoną:

Terraform
wymagane_providers
AWS =
Źródło = "Hashicorp/AWS"
wersja = "-> 3.27 "


wymagane_wersja = "> = 0.12 "

Dostawca „AWS”
profilu = „domyślnie”
region = „US-East-1”

Zasób „AWS_INSTANCE” „DATABASE_SERVER”
ami = "ami-b7873e35"
instance_type = "t2.mikro "

Oznacz zasób jako skażony:

Terraform Daint AWS_INSTACE.Baza danych.serwer

Po zaznaczeniu zasobu jako skażonym, wykonaj polecenie planu Terraform, aby zobaczyć zmiany, które zostaną zastosowane.

Jak użyć niekołani

Jeśli ustawiłeś zasób jako skażony, możesz powrócić i usunąć znacznik skazania za pomocą polecenia Terraform Niestety.

Polecenie przyjmuje identyfikator zasobów jako argument:

Terraform Niestety [Opcje] Adres

Akceptuje podobne argumenty do komendy terraform skazania.

Na przykład, aby usunąć marker z prędkością z powyższego zasobu, użyj następującego polecenia:

Terraform Niekołani AWS_INSTACE.Baza danych.serwer
Plan Terraform

Poprzednie polecenie usunie marker skażeni na zasob

Wniosek

W tym przewodniku nauczyłeś się podstaw terraform i procesu, aby oznaczyć zasób jako uszkodzony. Ponadto do polecenia Terraform Command w celu zmodyfikowania zachowań. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź wskazówkę Linux, aby uzyskać więcej wskazówek i informacji.