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

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 
Utwórz rolę Apache w Ansible

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

# Tree Apache 
Sprawdź strukturę katalogu roli Ansible

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 
Rola wyszukiwania w Ansible

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 
Sprawdź informacje o roli ansible

W naszym przykładzie zainstalujemy tę rolę 5KYDEV0P5.SKADEVOPS-MYSQL.

# ansible-galaxy instaluj 5kyDev0P5.SKADEVOPS-MYSQL 
Zainstaluj rolę w Ansible

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 
Uruchom poradnik Ansible

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.

Ansible Galaxy

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

Wyszukaj rolę monitorowania w galaktyce Ansible

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ą.

Sprawdź informacje o roli na ansible galaxy

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 
Lista zainstalowana role w ansible Galaxy
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.