Jak używać galaktyki ansible

Jak używać galaktyki ansible
Ansible Galaxy jest rolą i menedżerem kolekcji dla Ansible. Możesz to porównać z menedżerem pakietu NPM (Node Pack Manager).JS.

Ansible Galaxy organizuje role i kolekcje utworzone przez społeczność. Zamiast przepisywać je od zera, możesz zainstalować go na komputerze za pomocą narzędzia linii poleceń Ansible Galaxy i użyć ich w swoich podręcznikach.

Możesz także napisać swoje role i kolekcje i przesłać je do Ansible Galaxy. To nie jest w zakresie tego artykułu.

W tym artykule pokażę Ci, jak używać narzędzia linii poleceń Ansible Galaxy do instalacji ról i kolekcji ansible Galaxy i używania ich w swoim podręczniku. Więc zacznijmy.

Wymagania wstępne:

Jeśli chcesz wypróbować przykłady tego artykułu,

1) Musisz mieć zainstalowany na komputerze Ansible.

2) Musisz mieć co najmniej 2 hosty Linux (Debian 10 i Centos 7) skonfigurowane do automatyzacji Ansible.

Istnieje wiele artykułów na temat Linuxhint poświęconych instalacji ansible i konfiguracji hostów do automatyzacji ansible. Możesz je sprawdzić w razie potrzeby.

Konfiguracja katalogu projektu:

Zanim zaczniemy, utwórzmy katalog projektu, abyśmy mogli zorganizować nasze pliki projektu.

Aby utworzyć katalog projektu galaxy-demo/ w Twoim DOM Directory, uruchom następujące polecenie:

$ mkdir -pv galaxy -demo/Playbooks, vars

Teraz przejdź do galaxy-demo/ katalog w następujący sposób:

$ CD Galaxy-Demo/

Utwórz plik konfiguracyjny Ansible Ansible.CFG W katalogu projektu w następujący sposób:

$ nano ansible.CFG

Wpisz w następujących liniach Ansible.CFG plik.

[domyślne]
Inwentaryzacja = hosty
host_key_checking = false

Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować Ansible.CFG plik konfiguracyjny.

Utwórz plik zapasowy Ansible zastępy niebieskie W katalogu projektu w następujący sposób:

$ nano gospodarze

Wpisz w następujących wierszach w swoim zastępy niebieskie Plik zapasowy.

[Baza danych]
VM1.Nodekite.com
[sieć]
VM9.Nodekite.com

Tutaj, VM1.Nodekite.com jest gospodarzem Debian 10 i VM9.Nodekite.com jest gospodarzem Centos 7.

Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować zastępy niebieskie Plik zapasowy.

Aby sprawdzić, czy możesz pingować zdalne hosty ansible z komputera, uruchom następujące polecenie:

$ ansible all -u ansible -m ping

Jak widać, mogę pingować moje zdalne hosty ansible vm1.Nodekite.Com i VM9.Nodekite.com.

Poszukiwanie ról i kolekcji Galaxy: Ansible:

Możesz wyszukać role i kolekcje galaktyki ansible na oficjalnej stronie internetowej Ansible Galaxy.

Po załadowaniu strony kliknij ikonę wyszukiwania, aby wyszukać role i kolekcje galaktyki ansible.

Teraz wpisz to, czego szukasz, i kliknij ikonę wyszukiwania.

W tym przykładzie szukałem MySQL Server. Jak widać, wynik wyszukiwania jest wyświetlany.

Wyszukiwany termin MySQL Server Zwróciło 2 kolekcje i wiele ról.

Rolą jest moduł ansible, który robi określone rzeczy. Kolekcja ma wiele ról. To jest główna różnica między rolą a kolekcją.

Aby zobaczyć więcej informacji o roli, kliknij rolę.

Detale Zakładka pakietu ról pokaże informacje techniczne o roli.

Przeczytaj mnie Karta wyświetli informacje o instalacji i użytkowaniu roli.

W ten sam sposób pakiet windykacyjny będzie zawierał informacje o instalacji na temat Detale patka.

Na Treść Tab, role, które kolekcje będą instalowane.

Przeczytaj mnie Karta wyświetli przydatne informacje o kolekcji.

Instalowanie i korzystanie z ról ansible Galaxy:

W tej sekcji pokażę, jak zainstalować i użyć roli ansible galaktyki. Więc zacznijmy.

Powiedzmy; Chcesz zainstalować rolę galaktyki ansible Geerlingguy.Mysql.

Aby to zrobić, uruchom następujące polecenie:

$ ansible-galaxy instaluj Geerlingguy.Mysql

Rola galaktyki Ansible Geerlingguy.Mysql należy zainstalować.

Utwórz podręcznik instalt_database.Yaml w podręczniki/ katalog do testowania Geerlingguy.Mysql Rola w następujący sposób:

$ Nano Playbooks/instalt_database.Yaml

Następnie wpisz następujące wiersze w instalt_database.Yaml plik.

- Hosty: baza danych
Użytkownik: Ansible
stać się: tak
vars_files:
-… /Vars /baza danych.Yaml
Role:
- Rola: Geerlingguy.Mysql

Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować instalt_database.Yaml plik.

Tutaj rola Geerlingguy.Mysql jest używany w Role Sekcja.

vars_files Sekcja służy do dodania wymaganych zmiennych roli/podręczników do podręcznika. Tutaj zmienne zostaną umieszczone w vars/baza danych.Yaml plik.

Teraz stwórz Baza danych.Yaml plik w vars/ katalog w następujący sposób:

$ nano vars/baza danych.Yaml

Teraz dodaj żądane zmienne w Baza danych.Yaml plik. Dodałem następujące zmienne w Baza danych.Yaml plik.

Mysql_Databases:
- Nazwa: DB01
Kodowanie: UTF8MB4
Salacja: utf8mb4_unicode_ci
mysql_users:
- Nazwa: Linuxhint
gospodarz: "%"
Hasło: Secret
Priv: „DB01.*:WSZYSTKO"

Te zmienne konfigurują Geeringguy.Mysql Rola, aby stworzył nowego użytkownika Linuxhint, Ustawia hasło sekret dla Linuxhint Użytkownik tworzy nową bazę danych DB01 i dotacje Linuxhint Użytkownik Pełny dostęp do DB01 Baza danych.

Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować Baza danych.Yaml plik.

Teraz możesz uruchomić instalt_database.Yaml Playbook w następujący sposób:

$ Ansible-Playbook Playbooks/Instalt_Database.Yaml

Jak widać, podręcznik działa Geerlingguy.Mysql rola. Ukończenie może potrwać trochę czasu.

W tym momencie install_mysql.Yaml Poradnik powinien zostać ukończony.

Na moim VM1.Nodekite.com debian 10 gospodarz, The Mysql Usługa działa, jak widać na zrzucie ekranu poniżej,

Mogę również zalogować się do serwera bazy danych mysql jako Linuxhint użytkownik.

Jak widać, baza danych DB01 jest również stworzony.

W ten sposób instalujesz i używasz ról ansible galaxy.

Instalowanie i korzystanie z kolekcji Ansible:

W tej sekcji pokażę, jak zainstalować i użyć kolekcji ansible galaxy. Więc zacznijmy.

Powiedzmy; Chcesz zainstalować kolekcję Ansible Galaxy Geerlingguy.PHP_ROLES.

Aby to zrobić, uruchom następujące polecenie:

$ Ansible-Galaxy Collection Instaluj Geerlingguy.PHP_ROLES

Kolekcja Geerlingguy.PHP_ROLES należy zainstalować.

Aby korzystać z kolekcji, utwórz nowe PlayBook install_php.Yaml w podręczniki/ katalog w następujący sposób:

$ Nano Playbooks/instalt_php.Yaml

Teraz wpisz następujące wiersze w install_php.Yaml plik.

- Hosty: Web
Użytkownik: Ansible
stać się: tak
Kolekcje:
- Geerlingguy.PHP_ROLES
Role:
- Rola: PHP
- Rola: PHP_VERSIONS
vars:
php_version: '7.3 '

Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować install_php.Yaml plik.

Te linie importują Geerlingguy.PHP_ROLES Kolekcja na swoim podręczniku.

w Role sekcja, możesz użyć potrzebnych ról z kolekcji. Tutaj dodałem 2 role (php I PHP_VERSIONS) z Geerlingguy.PHP_ROLES kolekcja.

php Rola nie ma żadnych zmiennych specyficznych dla roli.

Jeśli chcesz skonfigurować rolę za pomocą zmiennych, możesz je dodać w ramach vars sekcja rola następująco.

Można znaleźć role do użycia na oficjalnej stronie Galaxy Ansible z kolekcji

Oficjalna strona galaktyki ansible roli będzie zawierać informacje o tym, jakie zmienne można użyć do skonfigurowania roli.

Teraz możesz uruchomić install_php.Yaml Playbook w następujący sposób:

$ Ansible-Playbook Playbooks/instalt_php.Yaml

Jak widać, Playbook działa. Ukończenie może potrwać trochę czasu.

W tym momencie podręcznik powinien zostać ukończony.

Jak widać, mogę uzyskać dostęp do serwera Apache 2 działającego na moim hosta Centos 7 VM9.Nodekite.com.

Stworzyłem też indeks.php plik w /var/www/html/ Katalog mojego Centos 7 Host VM9.Nodekite.com.

Jak widać, serwer WWW może obsługiwać indeks.php Strona poprawnie.

Tak więc instalujesz i używasz kolekcji Ansible Galaxy.

Wniosek:

W tym artykule wyjaśniłem, czym jest galaktyka ansible. Wykazałem również, jak instalować i korzystać z ról/kolekcji z Ansible Galaxy. Galaktyka ansible pomoże ci uniknąć ponownego wynalezienia koła, znanego również jako powtórzenie kodu. Powinieneś być w stanie wykonać swoje projekty ansible szybciej za pomocą ansible galaxy.