Jak używać modułu ping ansible

Jak używać modułu ping ansible

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:

  • Czy zdalny host jest gotowy i dostępny.
  • Czy środowisko Python może z powodzeniem uruchomić wymagane podręczniki.
  • Logowanie i uprawnienia użytkowników.

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

  • Nie ping ICMP; Jest to raczej mały moduł, który wymaga ważnego środowiska Python na zdalnych hostach.
  • Zamiast tego zdalne hosty Windows powinny używać modułu Win_Ping.
  • Zapewnia moduł net_ping dla urządzeń sieciowych.
  • Akceptuje tylko jeden parametr, aby podnieść wyjątek.
  • Użyte domyślnie podczas wywoływania polecenia ansible w katalogu/usr/bin/ansible w celu weryfikacji uprawnień logowania i prawidłowego środowiska Python.
  • Zwraca ciąg „ponga” po sukcesie.

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.