Obsługuje dwie metody zarządzania zdalnymi maszynami: polecenia ad hoc i poradniki Ansible. Polecenia ad hoc to surowe polecenia, które można wykonać w terminalu, aby wykonać zadanie w jednym wystąpieniu.
Z drugiej strony Ansible Playbooks to pliki zapisane w języku YAML. Zawierają jeden lub zestaw zadań wykonanych na zdalnej maszynie. Ze względu na ścisły charakter YAML, Ansible Playbooks wymaga starannej uwagi w ogólnej składni.
Ten samouczek przeprowadzi Cię przez podstawy pisania Playbooks Ansible i wykonywanie poleceń na zdalnych maszynach. W przypadku ilustracji w tym przewodniku skonfigurujemy prosty podręcznik, który instaluje i konfiguruje Apache Webserver.
NOTATKA: Ten samouczek nie ma na celu nauczenia cię. Wszystko, co robi, to podać porady i wytyczne dotyczące pisania poradnika Ansible.
Wymagania wstępne
Aby uzyskać maksymalną wartość z tego przewodnika, zalecamy śledzenie. Następujące są rzeczy, których potrzebujesz.
Po spełnieniu obu powyższych wymagań możemy zacząć.
Jak zainstalować Ansible na Debian/Ubuntu
Pierwszym krokiem jest upewnienie się, że mamy zainstalowane i uruchomione na naszym komputerze lokalnym. Będę używać Ubuntu do tego samouczka.
Krok 1
Zacznij od aktualizacji systemu za pomocą poniższych poleceń:
Krok 2
Następnie użyj poniższych poleceń, aby zainstalować ansible na Ubuntu.
Teraz, gdy zainstalowaliśmy go na twoim komputerze lokalnym, możemy kontynuować konfigurację.
Jak skonfigurować zapasy ansible
Aby zarządzać zdalnymi serwerami za pomocą ansible, musisz powiedzieć o tym ansible. Robimy to, tworząc plik zapasowy zawierający adresy IP lub nazwy hostów zdalnych maszyn.
Domyślnie plik Inwentaryzacji Hosta znajduje się w/etc/ansible/hosts.
Aby dowiedzieć się, w jaki sposób utworzyć niestandardowy plik inwentaryzacji hosta w Ansible, rozważ jeden z naszych samouczków.
Edytuj plik/etc/ansible/hosts i dodaj adres IP swojego zdalnego komputera, jak pokazano poniżej:
W powyższym przykładzie zapisu tworzymy grupę serwerów (Linuxhint), którą zarządzimy w tym samouczku. Możesz mieć inne grupy, takie jak serwery internetowe, baza danych itp.
Jak skonfigurować parę kluczy SSH
Ansible używa SSH do logowania do określonych zdalnych maszyn i wykonuje zadania zdefiniowane w podręczniku. Dlatego, aby zminimalizować interakcję i utworzyć w pełni zautomatyzowany przepływ pracy, najlepiej utworzyć parę SSH, aby zalogować się do zdalnej maszyny.
Krok 1
Pierwszym krokiem jest wygenerowanie pary kluczy SSH jest używanie narzędzia SSH-KeyGen. Użyj polecenia jako:
Będzie to interaktywnie poprosić o wygenerowanie pary kluczy SSH. Dla uproszczenia zaakceptuj wartości domyślne i nie dodaj hasła.
Wyjście to jest poniżej:
Krok 2
Następnie musimy skopiować klucz SSH do zdalnych maszyn za pomocą narzędzia SSH-Copy-ID. Użyj polecenia jako:
Wyjście jest jak pokazano poniżej:
Aby dowiedzieć się więcej o tym, jak korzystać z polecenia SSH-Copy-ID, użyj tego: Użyj komendy SSH ID ID.
Jak napisać poradnik Ansible
Jak wspomniałem wcześniej, Ansible Playbooks używają YAML, a zatem musisz obserwować ścisłe konwencje składniowe.
Jeśli nie znasz, jak pisać pliki YAML, rozważ samouczek w tym linku: Przeczytaj wartości plików YAML
Aby pozostać zorganizowanym, stwórzmy katalog, w którym zamierzamy przechowywać wszystkie nasze podręczniki.
CD ~Teraz, gdy stworzyliśmy katalog .rozszerzenie YAML.
Test vim.YamlW pliku YAML dodaj następującą zawartość.
---Zapisz plik i uruchom go na serwerze za pomocą polecenia:
test ansible-playbook.YamlPolecenie wyprowadzi informacje o interfejsach sieciowych na zdalnych maszynach, jak pokazano na poniższym obrazku:
Chociaż dane wyjściowe nie jest ładne i nie zapewnia najbardziej wydajnego sposobu gromadzenia informacji o sieci za pomocą ansible, trafnie ilustruje, w jaki sposób możemy używać ansible do uruchamiania poleceń na zdalnych hostach.
Jak zarejestrować zmienne w Ansible Playbooks
Aby utworzyć zmienną w Ansible Playbook, używamy słowa kluczowego rejestru, a następnie nazwy zmiennej. Możesz także użyć nazwy zmiennej jako klucza i ustawić jej wartość za pomocą notacji okrężnicy.
Na przykład dwa sposoby zarejestrowania zmiennej w Ansible.
Zarejestruj się: zmienna 1Z zdefiniowaną zmienną używasz go, wywołując jego nazwę wewnątrz zestawu dwóch kręconych aparatów ortodontycznych jako:
„Wywoływanie zmiennej zmienna1 wewnątrz ciągu”Eskalacja przywileju w Ansible
Ansible pozwala również uaktualnić uprawnienia użytkownika za pomocą stania. Metoda staje się wartością logiczną, która określa, że zadania wewnątrz podręcznika powinny działać jako root.
W naszym pierwszym podręcznika.
Apt Inside Inside Playbooks
Ansible zapewnia nam sposoby zarządzania pakietami APT w systemie opartym na debian. Za pomocą tej metody możesz aktualizować, instalować i odinstalować pakiety za pomocą Playbooka Ansible.
Rozważ aktualizację.Plik YAML pokazany poniżej:
---Powyższe podręczniki aktualizują pamięć podręczną repozytorium. Odpowiada to surowice jako:
Sudo apt-get AktualizacjaTo może być niezwykle przydatne podczas instalowania oprogramowania, takiego jak Apache, Nginx itp., na zdalnym hoście.
Przykładowy przypadek użycia
W tej sekcji utworzy podręcznik, który instaluje serwer WWW Apache w systemie Debian i wykonuje podstawową konfigurację.
Ten podręcznik pokazuje różne poruszające się elementy Ansible i stanowi dobry przykład działania Ansible Playbooks.
Zacznij od utworzenia pliku YAML.
vim config_apache.YamlWewnątrz YAML wprowadź następujący podręcznik.
---Zapisz plik i uruchom go na zdalnym serwerze za pomocą polecenia:
ansible-playbook --User = "Ubuntu" config_apache.YamlPo pomyślnym wykonaniu zobaczysz na wyjściu, jak pokazano.
Potwierdź, że serwer działa za pomocą Curl jako:
Curl 192.168.0.13Powinieneś uzyskać domyślny kod źródłowy Apache (fragment pokazany poniżej).
I po tym zakończyliśmy ten samouczek.
Wniosek
Warto zauważyć, że funkcjonalność pisania podręczników będzie w dużej mierze zależeć od zadań, które musisz wykonać. Mam jednak nadzieję, że ten samouczek dał ci kilka wskazówek i wskazówek, aby stworzyć jeden ze swoich własnych.
Szczęśliwa automatyzacja!