Отговорни

Как да използвам Ansible Galaxy

Как да използвам Ansible Galaxy
Ansible Galaxy е мениджър на роли и колекции за Ansible. Можете да го сравните с NPM (Node Package Manager) мениджър на пакети на Node.js.

Ansible Galaxy е домакин на Ansible роли и колекции, създадени от общността. Вместо да ги пренаписвате от нулата, можете да го инсталирате на компютъра си с помощта на инструмента за команден ред Ansible Galaxy и да ги използвате в своите книги.

Можете също така да напишете своите роли и колекции и да ги качите в Ansible Galaxy. Това е извън обхвата на тази статия.

В тази статия ще ви покажа как да използвате инструмента за команден ред Ansible Galaxy, за да инсталирате ролите и колекциите на Ansible Galaxy и да ги използвате във вашата книга за игра. И така, нека започнем.

Предпоставки:

Ако искате да изпробвате примерите от тази статия,

1) Трябва да имате инсталиран Ansible на вашия компютър.

2) Трябва да имате поне 2 Linux хоста (Debian 10 и CentOS 7), конфигурирани за Ansible автоматизация.

В LinuxHint има много статии, посветени на Инсталиране на Ansible и конфигуриране на хостове за Ansible автоматизация. Можете да ги проверите, ако е необходимо.

Създаване на директория на проекти:

Преди да започнем, нека създадем директория на проекта, за да можем да организираме нашите проектни файлове.

За да създадете директория на проекта галактика-демо / във вашия У ДОМА директория, изпълнете следната команда:

$ mkdir -pv galaxy-demo / playbooks, vars

Сега отидете до галактика-демо / директория, както следва:

$ cd galaxy-demo /

Създайте конфигурационен файл Ansible ансибъл.cfg в директорията на вашия проект, както следва:

$ nano ansible.cfg

Въведете в следващите редове вашия ансибъл.cfg файл.

[по подразбиране]
инвентар = хостове
host_key_checking = Невярно

След като приключите, натиснете + х следван от Y и за да запазите ансибъл.cfg конфигурационен файл.

Създайте файл за инвентаризация Ansible домакини в директорията на вашия проект, както следва:

$ nano домакини

Въведете следните редове във вашия домакин инвентарен файл.

[база данни]
vm1.нодеките.com
[уеб]
vm9.нодеките.com

Тук, vm1.нодеките.com е хост на Debian 10 и vm9.нодеките.com е CentOS 7 хост.

След като приключите, натиснете + х следван от Y и за да запазите домакини инвентарен файл.

За да проверите дали можете да пингнете отдалечените Ansible хостове от вашия компютър, изпълнете следната команда:

$ ansible all -u ansible -m ping

Както виждате, мога да пинг на моите отдалечени Ansible хостове vm1.нодеките.com и vm9.нодеките.com.

Търсене на отговорни роли и колекции на галактиката:

Можете да търсите роли и колекции на Ansible Galaxy на официалния уебсайт на Ansible Galaxy.

След като уеб страницата се зареди, щракнете върху иконата за търсене, за да търсите роли и колекции на Ansible Galaxy.

Сега въведете това, което търсите, и кликнете върху иконата за търсене.

В този пример съм търсил mysql сървър. Както можете да видите, резултатът от търсенето се показва.

Думата за търсене mysql сървър върна 2 колекции и много роли.

Ролята е Ansible модул, който прави конкретни неща. Колекцията има много роли. Това е основната разлика между роля и колекция.

За да видите повече информация за роля, щракнете върху нея.

The Подробности раздел на пакет от роли ще показва техническа информация за ролята.

The Прочети ме раздел ще покаже информация за инсталирането и използването на ролята.

По същия начин пакетът за събиране ще има информация за инсталиране на Подробности раздел.

На Съдържание ще се покажат ролите, които колекциите ще инсталират.

The Прочети ме раздел ще показва полезна информация за колекцията.

Инсталиране и използване на Ansible Galaxy Roles:

В този раздел ще ви покажа как да инсталирате и използвате ролята на Ansible Galaxy. И така, нека започнем.

Да речем; искате да инсталирате ролята Ansible Galaxy geerlingguy.mysql.

За да направите това, изпълнете следната команда:

$ ansible-galaxy инсталирайте geerlingguy.mysql

Роля на Ansible Galaxy geerlingguy.mysql трябва да се инсталира.

Създайте книга за игри install_database.ямъл в книги за игри / директория за тестване на geerlingguy.mysql роля, както следва:

$ nano playbooks / install_database.ямъл

След това въведете следните редове в install_database.ямъл файл.

- хостове: база данни
потребител: ansible
ставам: да
vars_files:
-... / vars / база данни.ямъл
роли:
- роля: geerlingguy.mysql

След като приключите, натиснете + х следван от Y и за да запазите install_database.ямъл файл.

Тук ролята на geerlingguy.mysql се използва в роли раздел.

The vars_files секция се използва за добавяне на необходимите променливи на ролята / playbook към playbook. Тук променливите ще бъдат поставени в vars / база данни.ямъл файл.

Сега създайте a база данни.ямъл файл в варира / директория, както следва:

$ nano vars / база данни.ямъл

Сега добавете желаните променливи в база данни.ямъл файл. Добавих следните променливи в база данни.ямъл файл.

mysql_databases:
- име: db01
кодиране: utf8mb4
съпоставяне: utf8mb4_unicode_ci
mysql_users:
- име: linuxhint
домакин: "%"
парола: тайна
priv: "db01.*:ВСИЧКО"

Тези променливи се конфигурират geeringguy.mysql роля, така че да създаде нов потребител linuxhint, задава паролата тайна за linuxhint потребител, създава нова база данни db01 и безвъзмездни средства linuxhint потребител пълен достъп до db01 база данни.

След като приключите, натиснете + х следван от Y и за да запазите база данни.ямъл файл.

Сега можете да стартирате install_database.ямъл playbook, както следва:

$ ansible-playbook playbooks / install_database.ямъл

Както можете да видите, книгата за игри работи с geerlingguy.mysql роля. Попълването може да отнеме известно време.

В този момент, install_mysql.ямъл playbook трябва да бъде попълнен.

На моя vm1.нодеките.com Дебиан 10 хост, mysql услугата работи, както можете да видите на екранната снимка по-долу,

Също така мога да вляза в сървъра на базата данни MySQL като linuxhint потребител.

Както можете да видите, базата данни db01 също се създава.

И така, по този начин инсталирате и използвате ролите на Ansible Galaxy.

Инсталиране и използване на Ansible Collections:

В този раздел ще ви покажа как да инсталирате и използвате колекция Ansible Galaxy. И така, нека започнем.

Да речем; искате да инсталирате колекцията Ansible Galaxy geerlingguy.php_roles.

За да направите това, изпълнете следната команда:

$ ansible-galaxy collection инсталирайте geerlingguy.php_roles

Колекцията geerlingguy.php_roles трябва да се инсталира.

За да използвате колекцията, създайте нова playbook install_php.ямъл в книги за игри / директория, както следва:

$ nano playbooks / install_php.ямъл

Сега въведете следните редове в install_php.ямъл файл.

- домакини: уеб
потребител: ansible
ставам: да
колекции:
- geerlingguy.php_roles
роли:
- роля: php
- роля: php_versions
варира:
php_version: '7.3 '

След като приключите, натиснете + х следван от Y и за да запазите install_php.ямъл файл.

Тези редове импортират geerlingguy.php_roles колекция във вашата книга за игри.

В роли раздел, можете да използвате ролите, от които се нуждаете от вашата колекция. Тук добавих 2 роли (php и php_versions) от geerlingguy.php_roles колекция.

The php role няма специфични за ролята променливи.

Ако искате да конфигурирате роля, използвайки променливи, можете да ги добавите под варира раздел на роля както следва.

Можете да намерите какви роли са достъпни за използване в официалната страница Ansible Galaxy на колекцията

Официалната страница Ansible Galaxy на ролята ще съдържа информация за това какви променливи можете да използвате за конфигуриране на ролята.

Сега можете да стартирате install_php.ямъл playbook, както следва:

$ ansible-playbook playbooks / install_php.ямъл

Както можете да видите, книгата за игри работи. Попълването може да отнеме известно време.

В този момент книгата с игри трябва да бъде попълнена.

Както можете да видите, имам достъп до уеб сървъра Apache 2, работещ на моя CentOS 7 хост vm9.нодеките.com.

Създал съм и индекс.php файл в / var / www / html / директория на моя хост CentOS 7 vm9.нодеките.com.

Както можете да видите, уеб сървърът може да обслужва индекс.php страница правилно.

И така, вие инсталирате и използвате колекциите Ansible Galaxy.

Заключение:

В тази статия обясних какво е Ansible Galaxy. Също така демонстрирах как да инсталирам и използвам роли / колекции от Ansible Galaxy. Ansible Galaxy ще ви помогне да избегнете преоткриването на колелото, известно още като повторение на кода. Би трябвало да можете да изпълнявате проектите си Ansible по-бързо с помощта на Ansible Galaxy.

Как да промените курсора на мишката и размера на курсора, цвета и схемата в Windows 10
Показалецът на мишката и курсорът в Windows 10 са много важни аспекти на операционната система. Това може да се каже и за други операционни системи, т...
Безплатни и игри с отворен код за разработване на Linux игри
Тази статия ще обхване списък с безплатни двигатели за игри с отворен код, които могат да се използват за разработване на 2D и 3D игри на Linux. Същес...
Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...