Ansible

Hur man använder Ansible Galaxy

Hur man använder Ansible Galaxy
Ansible Galaxy är en roll- och samlingschef för Ansible. Du kan jämföra det med NPM-pakethanteraren (Node Package Manager) för Node.js.

Ansible Galaxy är värd för Ansible-roller och samlingar som skapats av samhället. Istället för att skriva om dem från grunden kan du installera det på din dator med Ansible Galaxy-kommandoradsverktyget och använda dem i dina spelböcker.

Du kan också skriva dina roller och samlingar och ladda upp dem till Ansible Galaxy. Detta omfattas inte av denna artikel.

I den här artikeln ska jag visa dig hur du använder Ansible Galaxy kommandoradsverktyg för att installera Ansible Galaxy-roller och samlingar och använda dem i din spelbok. Så, låt oss komma igång.

Förutsättningar:

Om du vill prova exemplen på den här artikeln,

1) Du måste ha Ansible installerat på din dator.

2) Du måste ha minst två Linux-värdar (en Debian 10 och en CentOS 7) konfigurerade för Ansible-automatisering.

Det finns många artiklar om LinuxHint tillägnad Installera Ansible och konfigurera värdar för Ansible-automatisering. Du kan kolla in dem om det behövs.

Ställa in en projektkatalog:

Innan vi börjar, låt oss skapa en projektkatalog så att vi kan organisera våra projektfiler.

Att skapa en projektkatalog galaxy-demo / i din HEM katalog, kör följande kommando:

$ mkdir -pv galaxy-demo / playbooks, vars

Navigera nu till galaxy-demo / katalog enligt följande:

$ cd galaxy-demo /

Skapa en Ansible-konfigurationsfil ansible.cfg i din projektkatalog enligt följande:

$ nano ansible.cfg

Skriv in följande rader din ansible.cfg fil.

[standard]
inventering = värdar
host_key_checking = Falskt

När du är klar trycker du på + X följd av Y och för att spara ansible.cfg konfigurationsfil.

Skapa en Ansible inventeringsfil värdar i din projektkatalog enligt följande:

$ nano värdar

Skriv in följande rader i din värdens inventeringsfil.

[databas]
vm1.nodekite.com
[webb]
vm9.nodekite.com

Här, vm1.nodekite.com är en Debian 10-värd och vm9.nodekite.com är värd för CentOS 7.

När du är klar trycker du på + X följd av Y och för att spara värdar inventeringsfil.

För att kontrollera om du kan pinga de avlägsna Ansible-värdarna från din dator, kör du följande kommando:

$ ansible all -u ansible -m ping

Som du kan se kan jag pinga mina avlägsna Ansible-värdar vm1.nodekite.com och vm9.nodekite.com.

Söker efter Ansible Galaxy-roller och samlingar:

Du kan söka efter Ansible Galaxy-roller och samlingar på den officiella webbplatsen för Ansible Galaxy.

När webbsidan har laddats, klicka på sökikonen för att söka efter Ansible Galaxy-roller och samlingar.

Skriv nu in det du letar efter och klicka på sökikonen.

I det här exemplet har jag sökt efter mysql-server. Som du kan se visas sökresultatet.

Söktermen mysql-server returnerade två samlingar och många roller.

En roll är en Ansible-modul som gör specifika saker. En samling har många roller. Det är den största skillnaden mellan en roll och en samling.

Klicka på rollen för att se mer information om en roll.

De Detaljer fliken i ett rollpaket visar teknisk information om rollen.

De Läs mig fliken visar installations- och användningsinformation för rollen.

På samma sätt kommer ett samlingspaket att ha installationsinformation på Detaljer flik.

Innehåll på fliken visas de roller som samlingarna kommer att installera.

De Läs mig på fliken visas användbar information om samlingen.

Installera och använda Ansible Galaxy-roller:

I det här avsnittet ska jag visa dig hur du installerar och använder en Ansible Galaxy-roll. Så, låt oss komma igång.

Låt oss säga; du vill installera Ansible Galaxy-rollen geerlingguy.mysql.

För att göra det, kör följande kommando:

$ ansible-galaxy installera geerlingguy.mysql

Ansible Galaxy-roll geerlingguy.mysql bör installeras.

Skapa en spelbok install_database.yaml i spelböcker / katalog för testning av geerlingguy.mysql roll enligt följande:

$ nano playbooks / install_database.yaml

Skriv sedan in följande rader i install_database.yaml fil.

- värdar: databas
användare: ansible
bli: ja
vars_files:
-... / vars / databas.yaml
roller:
- roll: geerlingguy.mysql

När du är klar trycker du på + X följd av Y och för att spara install_database.yaml fil.

Här är rollen som geerlingguy.mysql används i roller sektion.

De vars_files avsnittet används för att lägga till de önskade roll- / playbook-variablerna i playbooken. Här placeras variablerna i vars / databas.yaml fil.

Skapa nu en databas.yaml filen i vars / katalog enligt följande:

$ nano vars / databas.yaml

Lägg nu till önskade variabler i databas.yaml fil. Jag har lagt till följande variabler i databas.yaml fil.

mysql_databases:
- namn: db01
kodning: utf8mb4
sortering: utf8mb4_unicode_ci
mysql_users:
- namn: linuxhint
värd: "%"
lösenord: hemligt
priv: "db01.*:ALLT"

Dessa variabler konfigureras geeringguy.mysql roll så att den skapar en ny användare linuxhint, ställer in lösenordet hemlighet för linuxhint användare skapar en ny databas db01 och bidrag linuxhint användaren har full tillgång till db01 databas.

När du är klar trycker du på + X följd av Y och för att spara databas.yaml fil.

Nu kan du köra install_database.yaml spelbok enligt följande:

$ ansible-playbook playbooks / install_database.yaml

Som du kan se kör spelboken geerlingguy.mysql roll. Det kan ta ett tag att slutföra.

Vid denna punkt, install_mysql.yaml playbook ska vara färdig.

På min VM1.nodekite.com värd Debian 10, den mysql tjänsten körs som du kan se på skärmdumpen nedan,

Jag kan också logga in på MySQL-databasservern som linuxhint användare.

Som du kan se databasen db01 skapas också.

Så det här är hur du installerar och använder Ansible Galaxy-roller.

Installera och använda Ansible Collections:

I det här avsnittet ska jag visa dig hur du installerar och använder en Ansible Galaxy-samling. Så, låt oss komma igång.

Låt oss säga; du vill installera Ansible Galaxy-samlingen geerlingguy.php_roles.

För att göra det, kör följande kommando:

$ ansible-galaxy collection installera geerlingguy.php_roles

Samlingen geerlingguy.php_roles bör installeras.

Skapa en ny om du vill använda samlingen playbook install_php.yaml i spelböcker / katalog enligt följande:

$ nano playbooks / install_php.yaml

Skriv nu in följande rader i install_php.yaml fil.

- värdar: webb
användare: ansible
bli: ja
samlingar:
- geerlingguy.php_roles
roller:
- roll: php
- role: php_versions
vars:
php_version: '7.3 '

När du är klar trycker du på + X följd av Y och för att spara install_php.yaml fil.

Dessa rader importerar geerlingguy.php_roles samling på din spelbok.

I roller avsnitt kan du använda de roller du behöver från din samling. Här har jag lagt till två roller (php och php_versioner) från geerlingguy.php_roles samling.

De php roll har inga rollspecifika variabler.

Om du vill konfigurera en roll med hjälp av variabler kan du lägga till dem under vars avsnittet i roll som följer.

Du hittar vilka roller som är tillgängliga för användning på den officiella Ansible Galaxy-sidan i samlingen

Den officiella Ansible Galaxy-sidan i rollen kommer att ha information om vilka variabler du kan använda för att konfigurera rollen.

Nu kan du köra install_php.yaml spelbok enligt följande:

$ ansible-playbook playbooks / install_php.yaml

Som du kan se är spelboken igång. Det kan ta ett tag att slutföra.

Vid den här tiden bör spelboken vara klar.

Som du kan se kan jag komma åt Apache 2-webbservern som körs på min CentOS 7-värd vm9.nodekite.com.

Jag har också skapat en index.php filen i / var / www / html / katalog över min CentOS 7-värd vm9.nodekite.com.

Som du kan se kan webbservern fungera index.php sidan korrekt.

Så det är så du installerar och använder Ansible Galaxy-samlingar.

Slutsats:

I den här artikeln har jag förklarat vad Ansible Galaxy är. Jag har också visat hur jag installerar och använder roller / samlingar från Ansible Galaxy. Ansible Galaxy hjälper dig att undvika att uppfinna hjulet på nytt, även känt som kodrepetition. Du bör kunna få dina Ansible-projekt gjort snabbare med Ansible Galaxy.

Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...
Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...
Hur man installerar och spelar Doom på Linux
Introduktion till Doom Doom-serien har sitt ursprung på 90-talet efter att den ursprungliga Doom släpptes. Det blev en omedelbar hit och från den tide...