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