Ansible Advanced Host List Inventory

Ansible Advanced Host List Inventory

Korzystając z jednej z najnowszych technik zarządzania, „Ansible”, przedstawiamy sposób, w jaki wymieniamy każdy monitorowany host na urządzeniu. W Ansible używamy wtyczki „Inwentaryzacja”, aby wymienić wszystkie hosty w sieci.

Ważne jest, aby mieć listę wszystkich maszyn hosta w Ansible. Utrzymanie zorganizowanego pliku zapasów jest równie kluczowe, jak utrzymanie podręczników lub zadań, ponieważ nieustannie znajdziesz się w stanie niepewności i zadasz sobie pytanie, czy Twój akt zapasowy jest niewłaściwy. Oprócz powyższego, definicja wymaganych zmiennych plików ekwipunku minimalizuje treść zadania w podręcznikach i przyspiesza interpretacje. Istnieje grupa zmiennych, które można zadeklarować zarówno w twoich podręcznikach, jak i plikach zapasów ansible, które są odpowiedzialne za podłączenie i konfigurowanie zachowania łączności z komputerem hosta.

Wymagania wstępne:

Poniżej znajdują się wymagania przed wdrożeniem polecenia zapasów listy hosta w Ansible:

  • Aby rozpocząć wdrażanie, najpierw potrzebujemy oprogramowania używanego do konfiguracji ansible, które jest zainstalowane w urządzeniu serwerowym z najnowszą wersją. Ansible należy skonfigurować, abyśmy mogli łatwo wymienić komputer All-Host w naszej sieci.
  • Aby wykonać dowolne zadanie konfiguracyjne w Ansible, potrzebujemy głównego menedżera konfiguracji. W tym samouczku używamy serwera kontrolera jako głównego kontrolera.
  • Aby wdrożyć wszelkie zmiany, musimy ukierunkować serwery hosta w samouczku inwentarza listy hostów. Tutaj mamy dwa docelowe zdalne hosty.

Przykład: Zapasy listy hosta w komputerze

Oto przykład, który wdrażamy w narzędziu Ansible do sprawdzania lub definiowania zapasów listy hostów. W tym celu zrobimy ten przykład w różnych krokach, abyśmy mogli łatwo zrozumieć działanie i wdrożenie tego samouczka. Poniżej znajdują się kroki:

Krok 1: Sprawdź domyślną inwentaryzację listy hostów w docelowym zdalnym urządzeniu hosta

Najpierw sprawdzamy, ile hostów jest w ekwipunku narzędzia Ansible. W tym celu stosujemy instrukcję „ansible” z „-list-hosts”, abyśmy mogli wyświetlić domyślne nęki obsługiwane w ekwipunku.

[root@master ansible]# ansible all--list-hosts

Oto dane wyjściowe po napisaniu poprzedniego polecenia:

Terminal Ansible wyświetla „0 hostów”, jak widać w dostarczonej odpowiedzi, ponieważ nie zadeklarowaliśmy zapasów. Generujemy zapasy, aby wymienić zapasy hosta w terminalu, zanim to zareagujemy.

Domyślne zapasy:

Kiedy instalujemy ansible w oprogramowaniu, Ansible tworzy plik zapasowy, który można znaleźć, pisząc następującą instrukcję w terminalu:

[root@master ansible]# sudo nano/etc/ansible/hosts

Wynik jest generowany, gdy piszemy poprzednie stwierdzenie. Następnie prosi o wprowadzenie hasła:

W tej migawce domyślny plik hostów ansible zawiera informacje dotyczące nieogrup hostów i hostów grupy WebServers. Te hosty zawierają adresy URL i różne adresy IP.

Krok 2: Zdefiniuj niestandardowe zapasy w Ansible

W Ansible możemy również zdefiniować nasze zapasy, pisząc wiele stwierdzeń w terminalu Ansible. Definiowanie zapasów podczas uruchamiania stwierdzeń i podręczników jest mądrą decyzją, która uniemożliwia zderzenie hostów i porażki podczas łączenia się z hostami.

Aby zacząć definiować zapasy samodzielnie, najpierw piszemy następujące oświadczenie, abyśmy mogli zbudować zapasy w Ansible i wymienić hosty w nim, abyśmy nawiązali połączenie między kontrolerem Ansible a docelowymi hostami zdalnymi.

[root@master ansible]# nano hosts.yml

Po napisaniu poprzedniego oświadczenia zapasy są tworzone i uruchamiane w nowym terminalu Ansible z „gospodarzami.Tytuł YML ”. Następnie wymieniamy docelowych hostów jeden po drugim w ekwipunku. Pierwszym hostem, z którym się łączymy, to host Linux. Podajemy adres IP hosta Linux, użytkownika Ansible, hasło ansible, rodzaj połączenia i numer portu ansible. Robimy to samo z drugim hostem docelowym. Drugim hostem, którego używamy, jest host Ansible. Wszystkie hosty, które wymieniliśmy, znajdują się pod parametrem ansible w zapasach.

Ansible:
zastępy niebieskie:
Linux_host:
ansible_host: 192.168.3.229
ansible_user: root
ansible_password: tpstps_22
ansible_connection: ssh
ansible_port: 22
Ansible_host:
ansible_host: 192.168.7.10
ansible_user: Iris
ansible_password: tpstps_1
ansible_connection: ssh
ansible_port: 22

Po zrobieniu pliku zapasów i dostarczeniu hostów, teraz zakończymy plik zapasów i wracamy do głównego terminalu Ansible.

Krok 3: Utwórz podręcznik w Ansible

Następnie tworzymy podręcznik w narzędziu Ansible, aby zdefiniować zadania. W tym celu piszemy następujące polecenie w głównym terminalu Ansible:

[root@master ansible]# nano ansible_advanced_inventory.yml

Teraz podręcznik jest uruchamiany w nowym terminalu. Najpierw piszemy tytuł podręcznika. W następnym wierszu zapewniamy hosta docelowego. Korzystamy z opcji Zebranie faktów, która służy do uzyskania całej informacji o hostach. Ale tutaj przekazujemy „nie”, co oznacza, że ​​nie chcemy uzyskać wszystkich danych hostów.

Następnie wymieniamy zadania w podręczniku. Pierwsze zadanie służy do wyświetlania hosta docelowego z nazwą hosta. W następnym zadaniu drukujemy wyniki hosta.

- Nazwa: Ansible Advanced Host Inventorypt
Gospodarze: Ansible [0]
GACED_FAFTS: Nie
Zadania:
- Nazwa: Pobierz nazwę hosta zarządzanego węzła
Shell: „nazwa hosta”
Zarejestruj się: wynik
- Nazwa: Nazwa hosta wydruku
odpluskwić:
MSG: "wynik.stdout "

Teraz chcemy wykonać podręcznik wraz z plikiem ekwipunku. Więc najpierw zakończymy podręcznik. Poniżej znajduje się instrukcja, której używamy do uruchomienia polecenia:

[root@master ansible]# ansible-playbook ansible_advanced_inventory.YML -i Host.yml

Poniżej znajduje się wyświetlacz wyjściowy, który pokazuje, że połączenie się powiodło. Ponieważ minęliśmy ansible [0] w podręczniku, pierwszy host jest wyświetlany na wyjściu:

Wniosek

Przeprowadziliśmy dogłębną dyskusję w ekwipunku Ansible w tym samouczku. Nauczyliśmy się, jak budować zapasy w Ansible, a następnie połączyć je z docelowymi zdalnymi hostami. Wdrożyliśmy również przykład, abyśmy mogli łatwo zrozumieć pojęcia zapasów Ansible.