Jak tworzyć i pobierać role w Ansible Galaxy i używać ich - część 9
![Jak tworzyć i pobierać role w Ansible Galaxy i używać ich - część 9](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_11.png)
- 3893
- 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
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9.png)
Użyj polecenia drzewa, aby rzucić okiem na strukturę katalogu roli.
# Tree Apache
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_2.png)
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
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_3.png)
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
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_4.png)
W naszym przykładzie zainstalujemy tę rolę 5KYDEV0P5.SKADEVOPS-MYSQL.
# ansible-galaxy instaluj 5kyDev0P5.SKADEVOPS-MYSQL
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_5.png)
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
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_6.png)
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.
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_7.png)
Na przykład, aby wyszukać rolę monitorującą, taką jak ElasticSearch, Kliknij na 'Monitorowanie„Opcja i poszukiwanie roli, jak pokazano.
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_8.png)
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ą.
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_9.png)
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
![](https://ilinuxgeek.com/storage/img/images/how-to-create-and-download-roles-on-ansible-galaxy-and-use-them-part-9_10.png)
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 »