Ansible Config Lookup

Ansible Config Lookup
Dowiemy się, jak skonfigurować wtyczkę wyszukiwania, jedną z wtyczek oprogramowania Ansible, w tym samouczku. Przejdziemy przez dlaczego i jak użyliśmy wtyczki wyszukiwania, a także tego, jak działa w Ansible za pomocą podręcznika.

Dzięki użyciu modułów wyszukiwania możemy po prostu przeciągnąć informacje przechodzące przez domeny zewnętrzne w Ansible. Wewnętrzne systemy plików, zdalne hurtowni danych lub usługi to tylko kilka przykładów tych domen. Po zebraniu informacji od tych dostawców informacje są przetwarzane przez moduł wyszukiwania, a następnie pobierane za pośrednictwem silnika szablonów Ansible. I pozwoli na dostęp do tego szablonu. Głównym celem wtyczki Ansible Config Sharchup jest import parametrów lub szablonów zawierających informacje z domen zewnętrznych lub zdalnych urządzeń.

Praca nad wtyczką wyszukiwania w Ansible

Poniżej znajdują się zasady robocze wtyczki zaawansowanej wyszukiwania w narzędziu Ansible:

W przeciwieństwie do lokalnych działań, które działają z tak określonym katalogiem związanym z zaimplementowaną odtwarzaniem lub rolą, wyszukiwania są uruchamiane z określonym katalogiem poza grą lub rolą.

Powinieneś mieć solidne zrozumienie ansible, jego funkcjonalności i jego instrukcji, gdy zamierzasz użyć modułu wyszukiwania w Ansible, ponieważ jest to zaawansowana funkcjonalność.

Informacje są przetwarzane tylko zdalnie. Dlatego musimy mieć świadomość, że należy go przekazać do parametru lub wykorzystać jako zasób informacji po obliczeniu lub ocenie.

Istnieje kilka różnorodnych podejść, aby umożliwić dostosowane moduły, takie jak umieszczenie ich w module wyszukiwania domeny obok, umieszczanie go na ścieżce wtyczek wyszukiwania i dodanie źródła z katalogu wyszukiwania skonfigurowanego w CFG.

Aby zbierać informacje lub generowanie informacji, możemy zintegrować moduły ansible z filtrami i eksperymentami.

Operacja zapytania, która została zaimplementowana w Ansible w wersji 2.5, służy do wywoływania modułów wyszukiwania. Moduł zapytania zawsze zapewnia szereg wartości, podczas gdy wyszukiwanie wytwarza zestaw wartości oddzielonych przecinkami (CSV). Aby wymusić wyszukiwanie do wygenerowania wartości, możemy konkretnie wykorzystać parametr WantaList = True.

Wymagania wstępne wtyczki Ansible Lookup

Przed wdrożeniem przykładu potrzebujemy spełnienia następujących kryteriów:

Musi istnieć serwer kontroli Ansible o nazwie Ansible Controller. Aby zbudować połączenie i wykorzystać wtyczkę Ansible Config Sharchup, będziemy potrzebować zdalnych hostów. I tutaj używamy lokalnego hosta jako docelowego zdalnego hosta podczas wdrażania.

Budujemy podręczniki, wydawamy polecenia ansible i obserwujemy wyniki na odległych hostach na urządzeniu ansible-controller.

Postaramy się użyć różnych scenariuszy, aby zbadać kilka wtyczek Ansible Lookup. Konfiguracja modułu wyszukiwania w tych scenariuszach ma wyłącznie wykazać, jak je wykorzystać.

Przykład 01: Wyświetlanie domyślnych konfiguracji roli w Ansible

Teraz zamierzamy zaimplementować pierwszy przykład, w którym otrzymamy domyślną ścieżkę roli za pomocą wtyczki wyszukiwania Ansible. Najpierw utworzymy podręcznik, aby zawierać docelowy zdalny host i zadania. Poniżej znajduje się polecenie używane do tworzenia podręcznika w Ansible:

[root@master ansible]# nano config_lookup.yml

Po napisaniu powyższego polecenia i trafieniu Enter edytor podręcznika zostanie otwarty na nowy terminal o nazwie „config_lookup. Identyfikacja instancji lub modułu, którego zamierzamy używać początkowo, zostanie zapisana. Użyliśmy parametru „Zebraj_fact” Ansible, abyśmy otrzymali wszystkie informacje powiązane z LocalHost wyświetlą się na wyjściu, ale nie chcemy uzyskać dodatkowych informacji docelowego hosta lokalnego, więc przekazaliśmy „Fałszywe „Wartość do„ Gather_facts ”w podręczniku. Teraz wspomnimy o gospodarzach podręcznika, więc dostarczyliśmy „LocalHost”.

Następnie chcemy wymienić zadania, które chcemy wykonać. Tak więc napisaliśmy parametr „zadań”, a następnie wymieniliśmy zadania jeden po drugim. Na tej liście najpierw musimy użyć parametru „Nazwa”, aby wyświetlić nazwę zadań. A następnie wykorzystaliśmy parametr „debugowania” i dostarczamy w nim parametr „MSG”, aby przesłanie, które chcemy wyświetlić w wyniku, zostanie wyświetlony.

- Nazwa: Przykłady wyszukiwania konfiguracji
GACED_FAFTS: FAŁSZ
Gospodarze: Localhost
Zadania:
- Nazwa: Drukuj ścieżki ról
odpluskwić:
MSG: „Są to skonfigurowane ścieżki ról: Lookup ('config', 'default_roles_path')"

W tym przykładzie nie będziemy budować pliku zapasów, aby nawiązać połączenie, ponieważ używamy lokalnego hosta jako docelowego hosta zdalnego. Aby uzyskać wyniki, wykonując podręcznik utworzony powyżej, napisamy poniższe polecenie w terminalu:

[root@master ansible]# ansible-playbook config_lookup.yml

Oto dane wyjściowe po uruchomieniu powyższego polecenia. Otrzymamy skonfigurowaną ścieżkę Localhost wraz z komunikatem, który napisaliśmy w podręczniku w zielonej czcionce z sygnałem „OK”.

Przykład 02: Przeglądanie domyślnych skonfigurowanych kolorów w Ansible

Oto drugi przykład, który zamierzamy zaimplementować za pomocą wbudowanego modułu Ansible, który jest modułem wyszukiwania. W tym scenariuszu otrzymamy skonfigurowane kolory elementu.

Nie stworzymy innego podręcznika dla tego przykładu. Po prostu dokonujemy niezbędnych zmian w podręczniku „config_lookup”. Najpierw otworzymy podręcznik, pisząc poniższe polecenie:

[root@master ansible]# nano config_lookup.yml

W zadaniach podręczników zmienimy nazwę zadania, a następnie przekazamy „element”, aby uzyskać domyślny kolor. Użyliśmy parametru „pętli”, aby uzyskać domyślne kolory na liście.

- Nazwa: Przykłady wyszukiwania konfiguracji
GACED_FAFTS: FAŁSZ
Gospodarze: Localhost
Zadania:
- Nazwa: patrz domyślne kolory
Debug: msg = "item"
LOOP: "Lookup ('config', 'color_ok', 'color_changed', 'color_skip', wantaList = true)"

Teraz zakończ podręcznik, zapisując modyfikację i uruchom podręcznik przez polecenie poniżej:

[root@master ansible]# ansible-playbook config_lookup.yml

Poniższy ilustrowany fragment pokaże nam pożądane dane wyjściowe, wykonując instrukcję napisaną powyżej. Mamy trzy domyślne skonfigurowane kolory wtyczki wyszukiwania w Ansible, które są zielone, żółte i cyjanowe.

Przykład 03: Przeglądanie procedury eskalacji uprawnień w Ansible

Zamierzamy zaimplementować trzeci przykład wbudowanej wtyczki wyszukiwania konfiguracji w Ansible. W przykładzie eskalujemy przywileje modułu wyszukiwania. Najpierw otworzymy podręcznik.

[root@master ansible]# nano config_lookup.yml

Zmienimy teraz kod i skonfigurujemy go tak, aby pasowały do ​​naszych wymagań. Zmienimy nazwę zadania i zmienimy logikę debugowania.

- Nazwa: Przykłady wyszukiwania konfiguracji
GACED_FAFTS: FAŁSZ
Gospodarze: Localhost
Zadania:
- Nazwa: Wydrukuj domyślną metodę eskalacji uprawnień
odpluskwić:
msg: „default_become_method: lookup ('config', 'default_become_method')"

Ponownie użyjemy tego samego polecenia, aby uruchomić i zaprezentować wyniki przykładu.

[root@master ansible]# ansible-playbook config_lookup.yml

Jak pokazano na poniższym wyjściu, otrzymamy uprawnienie „sudo” w kolorze zielonym.

Wniosek

Nauczyliśmy się jednego z wbudowanych modułów Ansible, który jest konfiguracją wtyczki wyszukiwania. Omówiliśmy działanie wtyczki i zaimplementowaliśmy kilka przykładów, abyśmy mogli łatwo zrozumieć działające i różne moduły wtyczki wyszukiwania w Ansible.