Aby wykonać zautomatyzowane zadanie na zdalnym hoście z ANSible, konieczne jest wypełnienie i praca z niektórymi zmiennymi, jak można się spodziewać. Na przykład ten rodzaj zadania jest niezbędny do umieszczenia zdalnego hosta online, zezwolenia na logowanie i uprawnienia użytkownika oraz skonfigurowanie środowiska Python.
Możliwe jest SSH w zdalnym hoście i sprawdzić, czy gospodarz spełnia wszystkie kryteria. Jednak jako narzędzie automatyzacji Ansible zapewnia moduły, które pozwalają wykonywać te żmudne, czasochłonne zadania w jednym wierszu poleceń.
Ten samouczek pokazuje, jak korzystać z wbudowanego modułu ping. Prośba Ansible Ping jest prostym, ale przydatnym narzędziem, którego można użyć do przetestowania dostępności i praktyczności zdalnych hostów.
Przyjrzymy się teraz, jak działa Ping Ansible.
NOTATKA: Ta sekcja jest nieco teoretyczna. Jeśli wszystko, czego potrzebujesz, to techniczna część artykułu, możesz pominąć tę sekcję. Mimo to zalecamy przeczytanie tej sekcji, ponieważ zapewnia ona użyteczne spostrzeżenia i informacje na temat modułu ping.
Po tym, jak zauważono, przejdziemy teraz, aby przedstawić moduł ping.
O module ping ansible
Żądanie ping ansible sprawdza zdalnego hosta. Ten moduł sprawdza:
Po wysłaniu żądania pingu do zdalnego hosta moduł zwraca wartość wskazującą, czy ping zakończył się. Domyślnie moduł ping zwraca ciąg „Pong” po sukcesie i wyjątek dotyczący awarii (jeśli określono).
Pro wskazówka: Aby upewnić się, że twoje podręczniki Ansible na docelowych zdalnych hostach nie zawodzą, użyj modułu ping, aby sprawdzić, czy wymagania są spełnione, i wykonaj zadania tylko wtedy, gdy uzyskano udane wyjście.
Cechy modułu pingowego Ansible
Moduł ping jest dość prosty, a poniższa lista funkcji dostarczonych przez ten moduł:
Jak używać modułu ping ansible
Przyjrzymy się teraz na kilka przykładów, które używają modułu ping ansible.
Korzystanie z polecenia ad hoc ping
Najprostszym sposobem uruchomienia modułu ping ansible jest uruchomienie prostego polecenia ad hoc w terminalu.
Polecenie ad hoc jest następujące:
ansible all -m ping -v
Powyższe polecenie zaczyna się od wywołania Ansible, a następnie konkretnego wzoru hosta. W takim przypadku chcemy pingować „wszystkich” hostów. Następna część, „-m”, określa moduł, którego chcemy użyć. „-V” oznacza to!.
Po sukcesie otrzymasz dane wyjściowe takie jak pokazane poniżej:
Używanie/etc/ansible/ansible.CFG jako plik konfiguracyjny 35.222.210.12
|. Success =>
„ansible_facts”:
„odkryte_interpreter_python”: „/usr/bin/python”,
„Zmieniony”: Fałsz,
"tenis stołowy"
Jeśli zdalne hosty są niedostępne (być może są offline), uzyskasz dane wyjściowe jak pokazane poniżej:
Używanie/etc/ansible/ansible.CFG jako plik konfiguracyjny 35.222.210.12
|. NIEOSIĄGALNY! =>
„Zmieniony”: Fałsz,
„MSG”: „Nie udało się połączyć z hostem za pośrednictwem SSH: SSH: Podłącz się do hosta 35.222.210.12 Port 22: Wystąpiło połączenie ”,
„nieosiągalne”: prawda
Korzystanie z modułu ping w podręcznikach
Możesz także użyć modułu ping w podręczniku. W większości przypadków nie zbudujesz podręcznika, który wykonuje tylko żądanie ping. Jednak możesz zawinąć wszystkie zadania w warunkach żądania ping.
Rozważ następujący prosty podręcznik:
- Gospodarze: Wszyscy
stać się: tak
Zadania:
- świst
Możesz zauważyć, że w powyższym podręczniku zawarłem dyrektywę „stać się”. To nie jest wymaganie, ale spotkałem przypadki, w których moduł ping nie powiada się dla standardowego użytkownika. Możesz teraz uruchomić podręcznik i sprawdzić, czy serwer hosta spełnia wymagania dotyczące udanej odpowiedzi „ponga”.
Ansible-Playbook ping.yml
Jeśli ping nie powiedzie się, otrzymasz następujący błąd „nieosiągalny”:
Fatalne: [35.222.210.12]: nieosiągalne! => „Zmieniono”: false, „msg”: „Nie udało się połączyć z hostem przez SSH: SSH: Połącz się z hostem 35.222.210.12 Port 22: Connection Out „,„ Upotable ”: true
Korzystanie z wyjątku Raise z modułem ping
Możesz także określić dane jako awarię, aby wywołać wyjątek. To zmienia domyślny powrót z „ponga” na „awarię.'
Rozważ następujący podręcznik:
- Gospodarze: Wszyscy
stać się: tak
Zadania:
- świst:
awaria: dane
Uruchomienie podręcznika z wyjątkiem powinno zwrócić następującą wartość:
ansible-playbook ping_Except.yml
Wniosek
Ten samouczek pokazał zróżnicowaną użyteczność modułu ping. Chociaż ten moduł nie zawiera złożonych parametrów, takich jak większość modułów ansible, nadal zawiera potężne możliwości. Na przykład możesz użyć modułu ping, aby sprawdzić, czy błąd jest spowodowany brakującym środowiskiem Python i utworzyć zadanie do zainstalowania wymaganego środowiska na zdalnym hoście.