Play, role i zadania są strukturą Ansible, a ta nieobliczalna struktura zawiera ważny atrybut, który nazywa się znacznikami w Ansible. Ilekroć uruchamiamy podręcznik w Ansible, możesz zastosować polecenia -TAGS i -KIP. Jeśli mamy podręcznik, który zawiera tak wiele zadań, ale nie chcemy wykonywać wszystkich zadań z podręcznika, zamiast wykonywać cały podręcznik, po prostu przeprowadzimy kilka zadań, używając polecenia tag w Playbook Ansible Playbook.
W tym temacie omówimy znaczniki, które służą jako jeden z najważniejszych aspektów Ansible. Postaramy się wyjaśnić, jakie są tagi i jak działają tagi w Ansible, ponieważ jest to kłopotliwa funkcja platformy Ansible.
Na przykład podręcznik może zawierać trzy obowiązki: instalowanie modułu, konfiguracja go i sprawdzanie statusu wdrożonego modułu, na przykład, czy usługa jest uruchomiona i dostępna. Ponieważ musimy po prostu zobaczyć stan modułów na kilku zdalnych maszynach, używamy w tej sytuacji. Umożliwia nam wyłączenie określonej operacji, pozwalając nam skrócić czas trwania, utrzymując wszystkie powiązane działania w jednym podręczniku.
Wymagania wstępne wykorzystania tagów w Ansible Playbook
Aby umieścić praktyczne przykłady w oprogramowaniu Ansible, musimy spełnić następujące wymagania.
Musi być wymagany serwer kontrolujący ansible, aby wprowadził zmiany. Aby wykorzystać parametr znacznika w oprogramowaniu Ansible, potrzebujemy lokalnych hostów, aby się z nimi komunikować. W takim przypadku używamy lokalnego hosta podczas wykonywania jako docelowy serwer zdalny. Utworzymy podręczniki, wykonamy polecenia ansible tag i monitorujemy wyniki na zdalnych hostach z urządzenia ansible-controller.
Będziemy starać się zastosować różne scenariusze do zbadania kilku tagów Ansible, aby uczeń mógł łatwo zrozumieć koncepcję tagów w Ansible Playbook.
Przykład 01: Dostęp do jednego zadania w Ansible Playbook
Zamierzamy zaimplementować w Ansible, dostarczając wiele zadań w podręczniku, a następnie uzyskamy dostęp tylko do jednego zadania, wykorzystując w nim znaczniki. Aby to zrobić, najpierw utworzymy podręcznik, pisząc następujące polecenie:
[root@master ansible]# nano ansible_tags.ymlPo utworzeniu i uruchomieniu ansible_tags.Playbook YML. Teraz zaczniemy pisać polecenia w podręczniku. Najpierw przekazamy dostarczone hosty w parametrze „hostów”, którego użyjemy „LocalHost”. Następnie napiszemy wartość „fałszywych” w parametrze „Zebraj_facty”, abyśmy nie mogli uzyskać dodatkowych informacji o hostu Local, kiedy wykonamy podręcznik.
Następnie zaczniemy wymieniać czynności w parametrze „zadań” jeden po drugim, który chcemy wykonać. Zdecydujemy, czy dokument jest dostępny na maszynie LocalHost w pierwszym procesie. Jeśli jest dostępny, przechowujemy go w parametrze „Zarejestruj się”, a następnie podamy unikalną nazwę tagu, aby po wykonaniu podręcznika będzie nam łatwo uzyskać dostęp do znacznika. W drugim zadaniu zrobimy to samo, co w pierwszym zadaniu, ale tag musi być wyjątkowy, a następnie użyjemy opcji debugowania, aby zaprezentować zadanie wraz z powiązaną wiadomość.
- zastępy niebieskie:Teraz zapiszymy podręcznik, a następnie zamkniemy go. Chcemy uruchomić ansible_tags.Playbook YML, abyśmy napisać następujące polecenie w terminalu Ansible, aby zaprezentować dane wyjściowe użytkownikom.
[root@master ansible]# ansible-playbook ansible_tags.YML -TAGS Check_filePo uruchomieniu powyższego polecenia otrzymamy żądane wyjście w zamian. Jak pokazano poniżej, wykonywane jest tylko jedno zadanie, które jest wyświetlane na wyjściu, które jest „sprawdź istnienie pliku”.
Przykład 02: Zignoruj konkretny tag w Ansible Playbook
Oto drugi przykład znacznika Ansible, w którym idziemy do znacznika „Skip”. Od ciebie zależy, czy chcesz zignorować wszystkie zadania, czy też chcesz zignorować określone zadanie podręcznika w Ansible. Korzystamy z implementacji przykładu 1, a następnie po prostu pominiemy zadanie, po prostu pisząc poniższe stwierdzenie w terminalu Ansible.
[root@master ansible]# ansible-playbook ansible_tags.yml-Skip-Tags Check_fileZ powyższego polecenia po prostu zignorowaliśmy zadanie „sprawdź plik istnienia pliku”. Teraz w wyjściu wyświetlane jest tylko jedno zadanie, które jest „plik dostępny” w zielonej czcionce.
Przykład 03: Zawsze uruchamiaj zadanie w Ansible Playbook
Zamierzamy zaimplementować trzeci przykład na podstawie znacznika Ansible. W tym przykładzie użyjemy znacznika „zawsze”, co oznacza, że dany tag zawsze będzie wykonywał w Ansible Playbook. Aby uruchomić podręcznik, użyj następującego polecenia:
[root@master ansible]# nano ansible_tags.ymlW podręczniku stworzyliśmy wiele zadań do uruchomienia, ale przeszliśmy tag „zawsze” w ostatnim zadaniu, którym jest „usuń hasło z zapasów”. Poniżej przedstawiono polecenie zaimplementowane w podręczniku:
- Gospodarze: WszyscyNastępnie utworzymy plik zapasów, aby zbudować połączenie między kontrolerem a docelowym hostem zdalnym. Poniżej jest polecenie:
[root@master ansible]# nano host.ymlOto plik zapasowy zawierający informacje związane z „Linux_host” w Ansible.
Wszystko:Aby uzyskać pożądane dane wyjściowe, uruchomimy następujące polecenie w terminalu Ansible:
[root@master ansible]# ansible-playbook ansible_tags.yml - -tags check_file -i host.ymlWniosek
Tagi w Ansible zostały wyjaśnione w tym artykule. Teraz rozumiemy funkcję tagów i miejsc w Ansible, gdzie je zastosujemy. Aby pomóc uczniowi zrozumieć pojęcie tagów Ansible, opracowaliśmy różne przykłady.