Jak tworzyć i pobierać role w Ansible Galaxy i używać ich - część 9

- 3936
- 1127
- Maurycy Napierała
W Część 9 z serii Ansible, nauczysz się, jak tworzyć i pobierać role Ansible Galaxy i użyj ich. Ansible to proste, ale skuteczne zarządzanie konfiguracją i automatyczne wdrażanie, które płynnie automatycznie automatyzuje złożone zadania w wydajny sposób. Możesz zarządzać setkami, a nawet tysiącami serwerów z jednego węzła sterującego za pomocą jednego pliku podręcznika.
Jednak pisanie podręczników do zarządzania tą samą usługą w różnych środowiskach może być dość kłopotliwe, co zwykle prowadzi do nadmiarowości kodu. Ponadto większa złożoność może zwiększyć trudność w zarządzaniu wszystkimi urządzeniami.
W pojawia się role. W Ansible, Role są używane do rozkładania podręczników na pliki wielokrotnego użytku, które mogą być używane w kilku innych przypadkach, w których pojawia się potrzeba wykonania podobnego zadania. To wyeliminowało potrzebę przepisywania podręczników w kółko i oszczędza dużo czasu i energii.
Role to po prostu funkcjonalność podręczników. Rola dostarcza prawie to, co stanowiłoby podręcznik: zadania, pliki, moduły, zmienne i szablony. Należy również zauważyć, że każda rola jest ograniczona do określonego zadania lub pożądanego wyjścia.
Tworzenie roli Ansible
Stworzyć rolę w Ansible, Po prostu użyj składni.
# ansible-galaxy init inname_name
W bieżącym katalogu roboczym powstanie wiele katalogów i plików. W tym przypadku postanowiłem stworzyć rolę w /etc/ansible/role informator.
Stwórzmy rolę o nazwie Apache.
# ansible-galaxy init apache

Użyj polecenia drzewa, aby rzucić okiem na strukturę katalogu roli.
# Tree Apache

Jak widać, stworzono kilka katalogów, jednak nie wszystkie z nich zostaną użyte w podręczniku.
Teraz, aby użyć nowo utworzonej roli w podręczniku, zdefiniuj zadanie w główny.yml Plik zawarty w katalogu zadań nowej roli.
/apache/zadania/main.YML --- - Hosty: Database_servers Zadania: - Nazwa: Zainstaluj Apache2 na Ubuntu Webserver Apt: Nazwa: Apache2 Stan: zainstalowany
Następnie utwórz plik Playbook i wywołać rolę, jak pokazano.
--- - Hosty: Webservers Role: - Apache
Instalowanie roli od galaktyki Ansible
Role odgrywać kluczową rolę w udostępnianiu kodu innym użytkownikom w Ansible społeczność korzystająca z Ansible Galaxy platforma. W Ansible Galaxy, Dostajesz tysiące ról wykonujących różne zadania, takie jak instalacja serwerów i baz danych, narzędzia monitorujące itp.
Ansible Galaxy to baza danych lub repozytorium ról Ansible, które możesz wykorzystać w swoich podręcznikach i pomóc usprawnić swoje zadania.
Przeszukiwać rolę w Ansible Galaxy, Po prostu uruchom polecenie.
# Ansible-Galaxy Search
Na przykład poszukiwanie roli wymienionej Mysql uruchomić.
# ansible-galaxy wyszukiwanie mysql

Jak widać, istnieją setki ról, które pasują do słowa kluczowego wyszukiwania Mysql. Jednak nie wszystkie role wykonają to, co zamierzasz, więc zaleca się uważnie przeczytanie instrukcji.
Aby zebrać więcej informacji o roli, po prostu uruchom polecenie Ansible:
# ansible-galaksy info 5kydev0p5.SKADEVOPS-MYSQL

W naszym przykładzie zainstalujemy tę rolę 5KYDEV0P5.SKADEVOPS-MYSQL.
# ansible-galaxy instaluj 5kyDev0P5.SKADEVOPS-MYSQL

Rola jest pobierana i wyodrębniana do katalogu domyślnych Role zlokalizowanego /etc/ansible/role.
Rola można później wywołać w podręczniku, na przykład:
--- - Nazwa: Zainstaluj hosty serwera MySQL: WebServers Role: • 5kyDev0P5.SKADEVOPS-MYSQL
Teraz możesz bezpiecznie uruchomić poradnik Ansible, jak pokazano.
# ansible-playbook instalt_mysql.yml

Dodatkowo możesz odwiedzić Ansible Galaxy za pośrednictwem swojej przeglądarki internetowej i ręcznie wyszukiwać role wykonywania różnych zadań, jak opisano przez pulpit nawigacyjny.

Na przykład, aby wyszukać rolę monitorującą, taką jak ElasticSearch, Kliknij na 'Monitorowanie„Opcja i poszukiwanie roli, jak pokazano.

Ansible Galaxy Ułatwia użytkownikom instalację najlepszych ról, wymieniając najpopularniejsze i najczęściej pobrane role. Aby uzyskać więcej informacji o konkretnej roli, po prostu kliknij ją.

Na przykład w podręczniku możesz również określić więcej niż jedną rolę.
--- - Nazwa: Zainstaluj hosty serwera MySQL: WebServers Role: • 5kyDev0P5.Skakdevops-Mysql • Aaronpederson.Mariadb
Aby wymienić zainstalowane role, po prostu uruchom.
# lista ansible-galaksy

Wniosek
Role ułatwiaj ponowne wykorzystanie i udostępnianie poradników Ansible. W ten sposób oszczędzają użytkownika dużo czasu, próbując napisać dużo zbędnego kodu i spędzać zbyt dużo czasu, który byłby używany w innych zadaniach administracyjnych systemu. I to wszystko dla tego przewodnika.
- « Jak znaleźć wszystkich klientów podłączonych do portów HTTP lub HTTPS
- Jak pracować ze zmiennymi i faktami Ansible - Część 8 »