Ansible

Hoe Ansible Galaxy te gebruiken

Hoe Ansible Galaxy te gebruiken
Ansible Galaxy is een rol- en collectiebeheerder voor Ansible. Je kunt het vergelijken met de NPM (Node Package Manager) pakketbeheerder van Node.js.

Ansible Galaxy host Ansible-rollen en -collecties die door de community zijn gemaakt. In plaats van ze helemaal opnieuw te schrijven, kun je het op je computer installeren met behulp van de Ansible Galaxy-opdrachtregeltool en ze gebruiken in je playbooks.

Je kunt ook je rollen en verzamelingen schrijven en uploaden naar Ansible Galaxy. Dit valt buiten het bestek van dit artikel.

In dit artikel laat ik je zien hoe je de Ansible Galaxy-opdrachtregeltool gebruikt om Ansible Galaxy-rollen en -collecties te installeren en deze in je playbook te gebruiken. Dus laten we beginnen.

Vereisten:

Als je de voorbeelden van dit artikel wilt uitproberen,

1) Je moet Ansible op je computer hebben geïnstalleerd.

2) U moet minimaal 2 Linux-hosts hebben (een Debian 10 en een CentOS 7) geconfigureerd voor Ansible-automatisering.

Er zijn veel artikelen over LinuxHint gewijd aan het installeren van Ansible en het configureren van hosts voor Ansible-automatisering. Je kunt ze bekijken als dat nodig is.

Een projectmap opzetten:

Laten we, voordat we beginnen, een projectmap maken, zodat we onze projectbestanden kunnen ordenen.

Een projectmap maken: galaxy-demo/ in uw HUIS map, voer de volgende opdracht uit:

$ mkdir -pv galaxy-demo/playbooks,vars

Navigeer nu naar de galaxy-demo/ map als volgt:

$ cd galaxy-demo/

Een Ansible-configuratiebestand maken weerbaar.cfg in uw projectdirectory als volgt:

$ nano mogelijk.cfg

Typ in de volgende regels uw weerbaar.cfg het dossier.

[standaard]
inventaris           = hosts
host_key_checking   = False

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden weerbaar.cfg configuratiebestand.

Een Ansible-inventarisbestand maken gastheren in uw projectdirectory als volgt:

$ nano-hosts

Typ de volgende regels in je van de gastheer inventarisbestand.

[databank]
vm1.nodekite.com
[web]
vm9.nodekite.com

Hier, vm1.nodekite.com is een Debian 10-host, en vm9.nodekite.com is een CentOS 7-host.

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden gastheren inventarisbestand.

Voer de volgende opdracht uit om te controleren of u de externe Ansible-hosts vanaf uw computer kunt pingen:

$ ansible all -u ansible -m ping

Zoals je kunt zien, kan ik mijn externe Ansible-hosts vm1 pingen.nodekite.com en vm9.nodekite.com.

Zoeken naar Ansible Galaxy-rollen en -collecties:

Je kunt Ansible Galaxy-rollen en -collecties zoeken op de officiële website van Ansible Galaxy.

Zodra de webpagina is geladen, klikt u op het zoekpictogram om te zoeken naar Ansible Galaxy-rollen en -collecties.

Typ nu wat u zoekt en klik op het zoekpictogram.

In dit voorbeeld heb ik gezocht naar mysql-server. Zoals u kunt zien, wordt het zoekresultaat weergegeven.

De zoekterm mysql-server heeft 2 collecties en veel rollen geretourneerd.

Een rol is een Ansible-module die specifieke dingen doet. Een collectie heeft veel rollen. Dat is het belangrijkste verschil tussen een rol en een collectie.

Om meer informatie over een rol te zien, klik op de rol.

De Details tabblad van een rollenpakket toont technische informatie over de rol.

De Leesmij tabblad toont de installatie- en gebruiksinformatie van de rol.

Op dezelfde manier zal een verzamelpakket installatie-informatie bevatten op de Details tabblad.

Op de Inhoud tabblad, worden de rollen weergegeven die de collecties zullen installeren.

De Leesmij tabblad toont nuttige informatie over de collectie.

Ansible Galaxy-rollen installeren en gebruiken:

In dit gedeelte laat ik je zien hoe je een Ansible Galaxy-rol installeert en gebruikt. Dus laten we beginnen.

Laten we zeggen; je de Ansible Galaxy-rol wilt installeren geerlingguy.mysql.

Voer hiervoor de volgende opdracht uit:

$ ansible-galaxy installeren geerlingguy.mysql

Rol van Ansible Galaxy geerlingguy.mysql moet worden geïnstalleerd.

Maak een draaiboek install_database.yaml in de draaiboeken/ directory voor het testen van de geerlingguy.mysql rol als volgt:

$ nano playbooks/install_database.yaml

Typ vervolgens de volgende regels in de install_database.yaml het dossier.

- hosts: database
gebruiker: ansible
worden: ja
vars_files:
-… /vars/database.yaml
rollen:
- rol: geerlingguy.mysql

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden install_database.yaml het dossier.

Hier is de rol van geerlingguy.mysql wordt gebruikt in de rollen sectie.

De vars_files sectie wordt gebruikt om de vereiste rollen/playbook-variabelen aan het playbook toe te voegen. Hier worden de variabelen in de vars/database.yaml het dossier.

Maak nu een database.yaml bestand in de vars/ map als volgt:

$ nano vars/database.yaml

Voeg nu uw gewenste variabelen toe in de database.yaml het dossier. Ik heb de volgende variabelen toegevoegd in de database.yaml het dossier.

mysql_databases:
- naam: db01
codering: utf8mb4
sortering: utf8mb4_unicode_ci
mysql_users:
- naam: linuxhint
gastheer: "%"
wachtwoord: geheim
priv: "db01.*:ALLE"

Deze variabelen configureren geeringguy.mysql rol zodat het een nieuwe gebruiker maakt linuxhint, stelt het wachtwoord in geheim voor de linuxhint gebruiker, maakt een nieuwe database aan db01 en subsidies linuxhint gebruiker volledige toegang tot de db01 database.

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden database.yaml het dossier.

Nu kunt u de install_database.yaml draaiboek als volgt:

$ ansible-playbook playbooks/install_database.yaml

Zoals je kunt zien, draait het playbook de geerlingguy.mysql rol. Het kan even duren om te voltooien.

Op dit punt is de install_mysql.yaml playbook moet worden ingevuld.

Op mijn vm1.nodekite.com Debian 10 host, de mysql service is actief zoals u kunt zien in de onderstaande schermafbeelding,

Ik kan ook inloggen op de MySQL-databaseserver als: linuxhint gebruiker.

Zoals u kunt zien, is de database db01 is ook gemaakt.

Dus zo installeer en gebruik je Ansible Galaxy-rollen.

Ansible-collecties installeren en gebruiken:

In dit gedeelte laat ik je zien hoe je een Ansible Galaxy-verzameling installeert en gebruikt. Dus laten we beginnen.

Laten we zeggen; je de Ansible Galaxy-collectie wilt installeren geerlingguy.php_rollen.

Voer hiervoor de volgende opdracht uit:

$ ansible-galaxy collectie installeren geerlingguy.php_rollen

De verzameling geerlingguy.php_rollen moet worden geïnstalleerd.

Maak een nieuwe om de collectie te gebruiken playbook install_php.yaml in de draaiboeken/ map als volgt:

$ nano playbooks/install_php.yaml

Typ nu de volgende regels in de install_php.yaml het dossier.

- hosts: web
gebruiker: ansible
worden: ja
collecties:
- geerlingguy.php_rollen
rollen:
- rol: php
- rol: php_versions
var:
php_version: '7.3'

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden install_php.yaml het dossier.

Deze regels importeren de geerlingguy.php_rollen verzameling in je playbook.

In de rollen sectie, kunt u de rollen gebruiken die u nodig heeft uit uw verzameling. Hier heb ik 2 rollen toegevoegd (php en php_versions) van de geerlingguy.php_rollen verzameling.

De php rol heeft geen rolspecifieke variabelen.

Als u een rol wilt configureren met behulp van variabelen, kunt u deze toevoegen onder de vars gedeelte van de rol als volgt.

Je kunt vinden welke rollen beschikbaar zijn voor gebruik op de officiële Ansible Galaxy-pagina van de collectie

De officiële Ansible Galaxy-pagina van de rol bevat informatie over welke variabelen je kunt gebruiken om de rol te configureren.

Nu kunt u de install_php.yaml draaiboek als volgt:

$ ansible-playbook playbooks/install_php.yaml

Zoals je kunt zien, is het draaiboek actief. Het kan even duren om te voltooien.

Op dit punt moet het draaiboek worden voltooid.

Zoals je kunt zien, heb ik toegang tot de Apache 2-webserver die draait op mijn CentOS 7-host vm9.nodekite.com.

ik heb ook een gemaakt inhoudsopgave.php bestand in de /var/www/html/ map van mijn CentOS 7-host vm9.nodekite.com.

Zoals je kunt zien, kan de webserver dienen inhoudsopgave.php pagina correct.

Dus zo installeer en gebruik je Ansible Galaxy-collecties.

Conclusie:

In dit artikel heb ik uitgelegd wat Ansible Galaxy is. Ik heb ook laten zien hoe je rollen/verzamelingen van Ansible Galaxy installeert en gebruikt. Met Ansible Galaxy voorkom je dat je het wiel opnieuw moet uitvinden, ook wel codeherhaling genoemd. Je zou je Ansible-projecten sneller moeten kunnen doen met Ansible Galaxy.

5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...
Strijd om Wesnoth 1.13.6 Ontwikkeling vrijgegeven
Strijd om Wesnoth 1.13.6 die vorige maand werd uitgebracht, is de zesde ontwikkelingsrelease in de 1.13.x-serie en het levert een aantal verbeteringen...
Hoe League Of Legends op Ubuntu 14 te installeren.04
Als je fan bent van League of Legends, dan is dit een kans voor jou om League of Legends te testen. Merk op dat LOL wordt ondersteund op PlayOnLinux a...