Jak używać dodatkowych vars w Ansible

Jak używać dodatkowych vars w Ansible
Ansible oferuje elastyczność za pomocą zmiennych. Zmienne umożliwiają ustawienie niestandardowych wartości i warunków podczas wykonywania ANSIBLE Playbooks. Jednak chociaż zmienne w podręczniku są przydatne, musisz edytować podręcznik, gdy musisz wprowadzić zmiany.

Możesz to przezwyciężyć, używając zewnętrznego wejścia do podręcznika Ansible za pomocą dodatkowych zmiennych.

W tym artykule dowie się, jak korzystać z dodatkowych zmiennych Ansible do dostarczania wartości niestandardowych lub dynamicznych bez edycji podręczników.

Co to jest ansible extra vars?

Ansible Extra Vars to funkcja, która pozwala uwzględnić większą elastyczność w swoich podręcznikach Ansible, zapewniając możliwość określenia wartości dynamicznych podczas wykonywania podręcznika.

Ansible Extra Vars są pomocne, kiedy:

  1. Masz zmienną, której wartość może zmienić się więcej niż raz podczas uruchamiania podręcznika.
  2. Nie musisz edytować podręcznika, aby zmienić wartość zmiennej w podręczniku.

Jak używać dodatkowych vars ansible

Ansible Extra Vars zastąpi wartość przechowywaną w podręczniku lub w pliku zmiennym. Są one również nazywane zmiennymi wiersza poleceń.

Spójrzmy teraz na przykład, jak używać dodatkowych vars.

Typowym przykładem dodatkowych vars w Ansible jest to, że kodujesz wartość hostów. Załóżmy, że masz podręcznik, który działa na gospodarzach z grupą „Development”, gdy musisz uruchomić podręcznik na temat hostów „produkcji”, będziesz zmuszony do edytowania podręcznika.

Może to być męczące i podatne na błędy, szczególnie w obszernej kolekcji grup gospodarzy.

Aby rozwiązać ten problem, możemy użyć funkcji Ansible Extra Vars. Możemy zdefiniować zmienną reprezentującą grupę hostów i określić jej wartość podczas uruchamiania podręcznika.

Rozważ przykładowy podręcznik poniżej:

---
- Hosty: "grupa"
stać się: tak
GACED_FAFTS: Nie
Zadania:
- Nazwa: InstalalApache
trafny:
Nazwa: httpd
Stan: obecny
aktualizacja_cache: tak

Teraz, gdy mamy przykładowy podręcznik jak wyżej, możemy przekazać wartość do zmiennej „grupy” za pomocą opcji -extra -vars podczas uruchamiania podręcznika.

Przykładowe polecenie jest takie, jak pokazano:

Przykład ansible-playbook.yml -extra -vars „grupa = produkcja”

Aby zmienić grupę na „rozwój”, nie musisz edytować podręcznika; Przekaż zmienną, jak pokazano:

Przykład ansible-playbook.yml-extra-vars „grupa = rozwój”

Poniższy przykład używa dodatkowych vars, aby określić usługę, aby rozpocząć na podstawie rozkładu docelowego.

---
- Hosty: "grupa"
stać się: tak
GACED_FAFTS: Nie
Zadania:
- Nazwa: InstalalApache
praca:
Nazwa: "pkg_name"
Stan: zaczął

Korzystając z powyższego podręcznika, możemy określić dodatkowe zmienne jako:

Przykład ansible-playbook.yml-extra-vars „grupa = rozwój pkg_name = apache2”

Jeśli chcesz przekazać zmienne z przestrzeniami, używasz pojedynczych znaków cytatowych, jak pokazano w poniższym przykładzie:

Przykład ansible-playbook.yml -extra -vars "protocol = 'all -sslv2'"

Wniosek

Ten samouczek ilustruje, jak wdrożyć i wykorzystywać dodatkowe zmienne Ansible, aby dodać elastyczność do podręczników. Sprawdź dokumentację, aby dowiedzieć się więcej.