Jak stworzyć poradnik Ansible w Ubuntu

Jak stworzyć poradnik Ansible w Ubuntu
Ansible to potężne narzędzie do automatyzacji i zdalnego zarządzania, które pozwala administrować wszystkimi zdalnymi maszynami. Ansible jest wieloplatformowy i może pracować na większości maszyn bez wymagań dotyczących dodatkowego oprogramowania. Ansible oferuje również bezpieczeństwo, wykorzystując SSH i Python na zdalnych maszynach do wykonywania określonych zadań.

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.

  • Ubuntu lub dystrybucja oparta na debian - jest to maszyna, której używamy do łączenia się z zdalnymi maszynami za pomocą SSH.
  • Zdalny komputer do sterowania za pomocą Ansible - zalecamy uzyskanie systemu Linux, takiego jak Debian Server.

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

Sudo apt-get Aktualizacja
sudo apt-get dist-upgrade -y

Krok 2
Następnie użyj poniższych poleceń, aby zainstalować ansible na Ubuntu.

sudo apt instal instaluj oprogramowanie-properties-common
sudo add-apt-repozytory--yes-update pPA: ansible/ansible
sudo apt instal ansible -y

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:

ssh-keygen

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:

ssh-copy-id -i ~/.ssh/id_rsa.Użytkownik pub@remote_ip

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 ~
Mkdir Anisble-Workspace
CD Ansible-Workspace

Teraz, gdy stworzyliśmy katalog .rozszerzenie YAML.

Test vim.Yaml

W pliku YAML dodaj następującą zawartość.

---
- Gospodarze: Wszyscy
staje się prawdą
stać się_method: sudo
Zadania:
- Nazwa: „Pokaż interfejsy sieciowe”
Polecenie: ifconfig
Zarejestruj się: Szczegóły
- Nazwa: „Uzyskaj szczegóły interfejsów”
odpluskwić:
MSG: "detale.stdout "

Zapisz plik i uruchom go na serwerze za pomocą polecenia:

test ansible-playbook.Yaml

Polecenie 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 1
Zmienna2: Wartość

Z 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”
zmienna2

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:

---
- Gospodarze: Wszyscy
stać się: tak
stać się_method: sudo
Zadania:
- Nazwa: „Zaktualizuj pamięć podręczną i pełna aktualizacja systemu”
trafny:
aktualizacja_cache: true
cache_valid_time: 3600
Force_apt_get: true

Powyższe podręczniki aktualizują pamięć podręczną repozytorium. Odpowiada to surowice jako:

Sudo apt-get Aktualizacja

To 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.Yaml

Wewnątrz YAML wprowadź następujący podręcznik.

---
- Gospodarze: Wszyscy
staje się prawdą
stać się_method: sudo
Zadania:
- Nazwa: „Zaktualizuj pakiety i aktualizuj”
trafny:
aktualizacja_cache: true
Upgrade: Dist
Force_apt_get: true
- Nazwa: „Zainstaluj serwer Apache”
trafny:
Nazwa: Apache2
Stan: Najnowsze
- Nazwa: „Utwórz root dokumentu”
plik:
Ścieżka: "/var/www/html"
Stan: Directory
Właściciel: „WWW-DATA”
Tryb: 0755
- Nazwa: „Włącz Apache na zaporze”
UFW:
Zasada: Pozwól
Port: 80
Proto: TCP
- Nazwa: „Uruchom ponownie usługę Apache2”
praca:
Nazwa: Apache2
Stan: zrestartowany

Zapisz plik i uruchom go na zdalnym serwerze za pomocą polecenia:

ansible-playbook --User = "Ubuntu" config_apache.Yaml

Po pomyślnym wykonaniu zobaczysz na wyjściu, jak pokazano.

Potwierdź, że serwer działa za pomocą Curl jako:

Curl 192.168.0.13

Powinieneś 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!