W Ansible, jeśli chcemy wydać niektóre polecenia, aby wprowadzić zmiany lub zaktualizować coś na docelowym hosta zdalnego, użyjemy modułu poleceń. Moduł ad-hoc ansible jest domyślnym modułem, gdy używamy modułu „polecenie” w narzędziu Ansible. Jedynymi elementami wykonywalnymi, które może uruchomić moduł polecenia, są te, które są na docelowych hostach. Głównym celem modułu dowodzenia w Ansible jest ominięcie lokalnego terminala.
Istnieją pewne ograniczenia w Ansible, na przykład zmienne, takie jak $ hostName lub $ home, nie są dostępne, a operacje takie jak „&” i „<" etc are not functional in the command module. Any other Ansible module can be used if you wish to utilize these parameters. The command module in Ansible is unaffected by the remote host environment, which is why its outcomes are regarded as being more dependable and secure. On the target remote hosts or servers, that are specified as independent servers or hosting groups, the Command module is largely used to carry out standard Ubuntu instructions.
Wymagania wstępne do wykorzystania modułu poleceń w Ansible
Ten samouczek obejmuje praktyczne demonstracje Ansible. Aby użyć modułu poleceń Ansible, zakładamy, że masz wymienione poniżej wymagania:
Zbadajmy bardziej szczegółowo przesłankę modułu poleceń i sprawdźmy, w jaki sposób ansible to wdraża, wrzucając w praktykę kilka scenariuszy.
Przykład 01: Sprawdzanie czasu aktualnego zdalnego hosta za pomocą modułu poleceń Ansible
Każdy potencjalny profesjonalny lub potężny operator, taki jak kontroler ansible, musi posiadać mocną wiedzę na temat niektórych poleceń znalezionych w narzędziu konfiguracyjnym Ansible. Użyjemy jednego z najważniejszych poleceń modułu poleceń, który jest poleceniem „uptime” w Ansible. Czas upływu polecenia wyświetla czas obecny, liczba aktywnych hostów, typowe ładowanie serwera w poprzednich 1, 5 i 15 minutach, a także czas, który funkcjonował urządzenie. Postępując zgodnie z określonymi wyborami, jest on również w stanie ograniczyć odpowiednią treść w tym samym czasie.
Zacznijmy od utworzenia podręcznika, w którym napiszemy polecenie uptime, aby zweryfikować czas pracy zdalnego hosta. Polecenie, których użyjemy do utworzenia podręcznika w narzędziu Ansible, jest następujące:
[root@master ansible]# nano command_module.yml
Po napisaniu powyższego polecenia, Command_Module.Plagbook YML zostanie utworzony i uruchomiony w nowym edytorze o nazwie podręcznika, który jest „Command_module”. W tym edytorze najpierw podajemy zdalne hosty, które chcemy kierować. Tutaj skierowaliśmy „wszystkie” zdalne hosty. Aby uzyskać informacje związane z ukierunkowanymi zdalnymi hostami, użyjemy modułu „gromadzenia faktów”, modułu. Zebrane dane są zwykle określane jako „fakty” lub „zmienne” w narzędziu Ansible.
W narzędziu Ansible możemy indywidualnie gromadzić dane zdalnych hostów za pomocą konkretnego polecenia, które jest „konfiguracja”. Ale w rzeczywistości zmienna faktów zebrania jest wykonywana przez domyślnie wywołując ten moduł konfiguracji w Ansible Playbooks. Aby zebrać dane, przekazamy wartość „prawdziwej” lub „fałszywych”. Jak pokazano, przeszliśmy „fałszywe”, ponieważ nie chcemy uzyskać informacji o docelowym hosta.
Następnie wymienimy zadania, które chcemy wykonać w podręczniku Command_Module. Zaczniemy od nazwania zadania. Następnie użyliśmy parametru „Rejestr”, abyśmy mogli śledzić i przechowywać dane wyjściowe w tym parametrze Ansible. Teraz przejdziemy polecenie, które chcemy wykonać, czyli „czas pracy”. Następnie użyliśmy polecenia „Debug” do wydrukowania wyjścia zmiennej.
- zastępy niebieskie:
- Wszystko
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: Wykonaj polecenie czasu uptime nad modułem poleceń
Zarejestruj się: uptimeoutput
Polecenie: „czas aktu”
- odpluskwić:
var: uptimeoutput.StDout_Lines
Uderzenie Ctrl+X zakończy edytor Playbook. Teraz utworzymy plik zapasowy, który będzie zawierał szczegóły dotyczące docelowego hosta zdalnego. Polecenie, których użyjemy do utworzenia pliku ekwipunku w Ansible, zostało wspomniane poniżej:
[root@master ansible]# nano host.yml
Inny edytor o nazwie „Host” zostanie otwarty z plik inwentaryzacji. Ponieważ „wszyscy” hosty zostały wymienione w podręczniku, teraz przejdziemy przez każdego hosta indywidualnie. Używamy tylko jednego hosta w pliku ekwipunku, który będziemy nazywać „host1” i podamy tam jego szczegóły. Zaczniemy od podania adresu IP, a następnie tożsamości hosta, poświadczenia Ansible Tool, nazwy połączenia, które zostało utworzone między kontrolerem a hostem, a na koniec numer portu.
Wszystko:
zastępy niebieskie:
Host1:
ansible_host: 192.168.3.229
ansible_user: ansible
ansible_password: *******
ansible_connection: ssh
ansible_port: 22
Teraz uruchomimy Playbook i plik zapasów, które zostały utworzone po napisaniu przez polecenie wymienione poniżej:
[root@master ansible]# ansible-playbook command_module.YML -i Host.yml
Oto dane wyjściowe po pomyślnym uruchomieniu, gdzie mamy informacje o hosta1. Mamy czas, dni, dane całkowite użytkowników i średnią obciążenia hosta1.
Przykład 02: Wykorzystanie polecenia niezmiennego do uzyskania nazwy hosta i wersji zdalnego hosta
Oto drugi przykład modułu poleceń w Ansible, gdzie zamierzamy użyć polecenia „niezamalnie”. Używamy „Uname”, aby uzyskać informacje zdalnego hosta Ansible, tak jak chcemy uzyskać nazwę zdalnego hosta i która wersja narzędzia Ansible. Najpierw wprowadzimy niedawno utworzony podręcznik, który jest Command_Module.YML, a następnie zmodyfikuj zadania i polecenia. Aby otworzyć Command_Module.Playbook YML, użyjemy polecenia „Nano”:
[root@master ansible]# nano command_module.yml
W podręczniku zmieniliśmy zadania, które zostały pokazane poniżej w fragmencie kodu. Jak pokazano w zmiennej poleceń, przekazaliśmy polecenie „Uname” wraz z opcją „-a”, abyśmy mogli uzyskać informacje o wszystkich hostach.
- zastępy niebieskie:
- Wszystko
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: Wykonanie instrukcji niezmiennej
Zarejestruj się: Unmameout
Polecenie: „Uname -a”
- odpluskwić:
var: unameout.StDout_Lines
Zapiszemy modyfikacje i zamkniemy podręcznik. Teraz uruchomimy poradnik, aby uzyskać wyjście polecenia „niezamazja” i zobaczyć, co otrzymamy. Do wykonywania podręcznika poniżej użyjemy polecenia:
[root@master ansible]# ansible-playbook command_module.YML -i Host.yml
Wynik pomyślnego wykonania wyżej wspomnianego polecenia pokazano poniżej. Nazwa hosta i wersja są pokazane w zielonej czcionce.
Wniosek
Nauczyliśmy się jednego z modułów Ansible, który jest modułem dowodzenia. Omówiliśmy, jak to działa w Ansible. Ponadto nauczyliśmy się dwóch podstawowych scenariuszy modułu poleceń, wdrażając przykłady.