Wykonanie kodu zdalnego za pomocą modułu poleceń Ansible

Wykonanie kodu zdalnego za pomocą modułu poleceń Ansible
Dla tych, którzy pracują w jego dziedzinie i tworzenie sieci, praca nad serwerami musi być częścią codziennej rutyny.

Konfigurowanie różnych serwerów i aplikacji może być dość kłopotliwe, jeśli istnieje wiele systemów. Na szczęście oprogramowanie do automatyzacji i ramy wykonują pracę znacznie łatwiej.

Korzystając z tych aplikacji, możesz w pełni zautomatyzować proces zarządzania i konfiguracji przy użyciu tylko kilku wierszy kodu. Jeśli chodzi o automatyzację tego rodzaju, Ansible załatwia sprawę!

Ansible to narzędzie o mnóstwie funkcji. Mówienie o nich wszystkich w jednym przewodniku byłoby niesprawiedliwe, ponieważ każda z tych funkcji zasługuje na przewodnik.

Ten przewodnik jest szczegółowym samouczkiem na module dowodzenia Ansible. Przeżyjemy podstawy modułu wraz z składnią i funkcjami, za pomocą niektórych przykładów.

Jaki jest moduł poleceń Ansible?

Jak sama nazwa wskazuje, moduł poleceń umożliwia zdalne serwer/host jest w stanie uruchomić różne polecenia. Ci zdalni użytkownicy są nazywani węzłami w sieci.

Moduł polecenia ansible umożliwia uruchamianie wielu poleceń na tych węzłach. Te węzły mogą istnieć jako niezależne serwery lub części grupy. To powiedziawszy, istnieją pewne ograniczenia, o których powinieneś wiedzieć.

Ograniczenia modułu poleceń

Moduł polecenia może być używany do uruchamiania prostych poleceń podstawowych dla powłoki. Jedynym ograniczeniem jest to, że nie można go użyć do wykonywania bardziej złożonych poleceń.

Moduł polecenia ansible nie może wykonywać wielu poleceń w jednym instrukcji. Polecenia za pomocą symboli, | itd., nie są kompatybilne z modułem poleceń. W takich przypadkach moduł powłoki jest zdecydowanie lepszym wyborem.

Moduł poleceń Ansible ma pewne wymagania, które należy spełnić, zanim będzie można go użyć. Wymagania te są omówione w następnej sekcji tego przewodnika.

Wymagania wstępne modułu poleceń Ansible

Aby użyć modułu polecenia ansible, wymaga następujących czynności:

  • System, który ma zainstalowany ansible.
  • Kilka gospodarzy. W przypadku testowania serwerów zalecamy korzystanie z maszyn wirtualnych. Oprogramowanie takie jak Oracle VirtualBox, Vagrant i VMware Stations są idealne do pracy.

Zalecamy również, abyś miał podstawową wiedzę na temat wykonywania poleceń w terminalu, aby upewnić się, że wiesz, co robisz.

Po spełnieniu warunków wstępnych możemy przejść do nauki korzystania z modułu poleceń Ansible.

Za pomocą modułu poleceń Ansible

Jeśli masz jakieś wcześniejsze wrażenia z pracy z skontaktami, używanie modułu poleceń Ansible powinno być spacerem w parku. Jeśli tego nie zrobiłeś, nie martw się, ponieważ poprowadzimy Cię, jak korzystać z modułu poleceń za pomocą różnych przykładów.

Pierwszą rzeczą, którą musisz zrobić, jest utworzenie pliku „ansible_hosts”. Ten plik pozwoli ci grupować hosty, co będzie przydatne do wykonywania poleceń.

Aby utworzyć grupę hostów, wpisz następujące w pliku „ansible_hosts”

$ ansible TestServers - -liter -i ansible_hosts
Gospodarze (2):

W naszym przypadku,

$ ansible TestServers - -liter -i ansible_hosts
Gospodarze (2):
VM1
VM2

Tym gospodarze powinni być teraz zgrupowane razem pod pseudonimem „Testservers.„Użyjmy tego pliku jako niektórych przykładów.

Za pomocą modułu poleceń do znalezienia czasu wykonywania hosta

W tym przykładzie użyjemy modułu poleceń Ansible, aby dowiedzieć się, jak długo działają nasi hosty.

Można to zrobić na dwa sposoby. Pierwszy to użycie ad-hoc, szybkiego sposobu wykonywania funkcji za pomocą jednego polecenia. Drugi to pisanie scenariusza w podręczniku.

Aby znaleźć czas wykonawczy za pomocą ad-hoc, użyj następującego polecenia:

$ ansible testservers -m polecenie -A uptime -i ansible_hosts

Powinno to zapewnić wyjście w następującej składni:

|. Zmieniony | rc = 0 >>

Aby wykonać polecenie jako podręcznik, wpisz następujące:

Aby wykonać polecenie jako podręcznik, wpisz następujące:
- nazwa:
zastępy niebieskie:
Zadania:
- nazwa:
Zarejestruj się: uptimeoutput
Polecenie: „czas aktu”
- odpluskwić:
var: uptimeoutput.StDout_Lines

W naszym przypadku skrypt powinien wyglądać następująco:

- Nazwa: Znajdź, jak długo działają hosty.
Gospodarze: Testservers
Zadania:
- Nazwa: polecenie, aby znaleźć czas aktu za pomocą modułu poleceń
Zarejestruj się: uptimeoutput
Polecenie: „czas aktu”
- odpluskwić:
var: uptimeoutput.StDout_Lines

Dzięki temu możesz uruchomić ten podręcznik, wykonując następujące polecenie w terminalu Linux:

Ansible-Playbook Testbook.yml

Wyjście powinno być podobne do wyjścia z polecenia ad-hoc.

Za pomocą modułu poleceń do znalezienia użycia dysku

Polecenie $ df -h służy do znalezienia użycia dysku w systemie. To samo polecenie można zintegrować z modułem polecenia Ansible, aby znaleźć użycie dysku hostów.

Aby znaleźć użycie dysku za pomocą ad-hoc, użyj tego polecenia:

$ ansible testservers -m polecenie -a „df -h” -i ansible_hosts

Aby znaleźć użycie dysku za pomocą Playbooka, uruchom następujący skrypt:

Nazwa: Korzystanie z dysku serwerów
Gospodarze: Testservers
Zadania:
- Nazwa: Wykonaj polecenie $ df -h.
Zarejestruj się: Dfout
Polecenie: „df -h”
- odpluskwić:
var: dfout.StDout_Lines

Korzystanie z modułu poleceń do ponownego uruchomienia serwera

Moduł polecenia Ansible można użyć do ponownego uruchomienia jednego serwera. Parametr -Limit służy do ograniczenia tego wykonania.

Aby wykonać polecenie za pomocą ad-hoc, wpisz następujące,

$ ansible testservers -m polecenie -a "httpd -k restart" -i ansible_hosts -b - -limit vm1

Aby wykonać polecenie za pomocą podręcznika, uruchom następujący skrypt:

---
- Nazwa: Uruchom ponownie serwer Web
Gospodarze: Testservers
Zadania:
- Nazwa: restartWebServer
Zarejestruj się: httpdresout
stać się: tak
Polecenie: „httpd -k restart”
Kiedy: ansible_hostname == „VM1”
- odpluskwić:
var: httpdresout.StDout_Lines

To powinno ponownie uruchomić Twój serwer. Powinno być oczywiste, że VM2 został pominięty.

Oprócz przykładów, jak wspomniano powyżej, istnieje wiele poleceń, które można wykonać za pomocą modułu poleceń Ansible. Dokumentację tych poleceń i opcji można znaleźć w oficjalnej dokumentacji Ansible Online.

Wniosek

Mamy nadzieję, że ten przewodnik pomógł Ci dowiedzieć się o module poleceń Ansible. Omówiliśmy podstawy modułu, jego warunki wstępne i kilka przykładów, jak go używać. Mamy nadzieję, że masz przyjemne doświadczenie w pracy nad Ansible.