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:
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:
---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.
---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.