Hvordan bruke Ansible Galaxy

Hvordan bruke Ansible Galaxy
Ansible Galaxy er en rolle- og samlingssjef for Ansible. Du kan sammenligne det med NPM (Node Package Manager) Package Manager for Node.JS.

Ansible Galaxy er vert for Ansible roller og samlinger opprettet av samfunnet. I stedet for å omskrive dem fra bunnen av, kan du installere den på datamaskinen din ved å bruke Ansible Galaxy-kommandolinjeverktøyet og bruke dem på spillbøkene dine.

Du kan også skrive rollene og samlingene dine og laste dem opp til Ansible Galaxy. Dette er utenfor omfanget av denne artikkelen.

I denne artikkelen skal jeg vise deg hvordan du bruker Ansible Galaxy-kommandolinjeverktøyet for å installere Ansible Galaxy-roller og samlinger og bruke dem på lekeboken din. Så la oss komme i gang.

Forutsetninger:

Hvis du vil prøve eksemplene på denne artikkelen,

1) Du må ha Ansible installert på datamaskinen din.

2) Du må ha minst 2 Linux -verter (en Debian 10 og A Centos 7) konfigurert for Ansible Automation.

Det er mange artikler om Linuxhint dedikert til å installere Ansible og konfigurere verter for Ansible Automation. Du kan sjekke dem ut om nødvendig.

Sette opp en prosjektkatalog:

Før vi kommer i gang, la oss lage en prosjektkatalog slik at vi kan organisere prosjektfilene våre.

For å lage en prosjektkatalog Galaxy-Demo/ i din HJEM Katalog, kjør følgende kommando:

$ mkdir -pv galaxy -demo/playbooks, vars

Naviger nå til Galaxy-Demo/ Katalog som følger:

$ CD Galaxy-Demo/

Opprett en Ansible konfigurasjonsfil Ansible.CFG I prosjektkatalogen din som følger:

$ Nano Ansible.CFG

Skriv inn følgende linjer din Ansible.CFG fil.

[standardverdier]
Inventory = verter
host_key_checking = falsk

Når du er ferdig, trykk + X etterfulgt av Y og For å redde Ansible.CFG konfigurasjonsfil.

Opprett en ansettbar inventarfil verter I prosjektkatalogen din som følger:

$ Nano -verter

Skriv inn følgende linjer i din Vertens Inventarfil.

[Database]
VM1.Nodekite.com
[Web]
VM9.Nodekite.com

Her, VM1.Nodekite.com er en Debian 10 -vert, og VM9.Nodekite.com er en centos 7 -vert.

Når du er ferdig, trykk + X etterfulgt av Y og For å redde verter Inventarfil.

For å sjekke om du kan pinge de eksterne Ansible -vertene fra datamaskinen din, kjør følgende kommando:

$ ansible all -u ansible -m ping

Som du kan se, kan jeg pinge mine eksterne som er verter VM1.Nodekite.com og vm9.Nodekite.com.

Søker etter Ansible Galaxy -roller og samlinger:

Du kan søke etter Ansible Galaxy -roller og samlinger på det offisielle nettstedet til Ansible Galaxy.

Når websiden har lastet inn, klikker du på søkeikonet for å søke etter ansible galakseroller og samlinger.

Skriv inn det du leter etter, og klikker på søkeikonet.

I dette eksemplet har jeg søkt etter MySQL Server. Som du ser vises søkeresultatet.

Søkeordet MySQL Server returnerte 2 samlinger og mange roller.

En rolle er en ansibel -modul som gjør spesifikke ting. En samling har mange roller. Det er hovedforskjellen mellom en rolle og en samling.

For å se mer informasjon om en rolle, klikker du på rollen.

De Detaljer Fanen i en rollepakke vil vise teknisk informasjon om rollen.

De Les meg Tab vil vise installasjons- og bruksinformasjon om rollen.

På samme måte vil en samlingspakke ha installasjonsinformasjon om Detaljer Tab.

Innhold Fanen, rollene som samlingene installeres vil vises.

De Les meg Tab vil vise nyttig informasjon om samlingen.

Installere og bruke Ansible Galaxy -roller:

I denne delen skal jeg vise deg hvordan du installerer og bruker en Ansible Galaxy -rolle. Så la oss komme i gang.

La oss si; Du vil installere Ansible Galaxy -rollen Geerlingguy.mysql.

For å gjøre det, kjør følgende kommando:

$ Ansible-Galaxy Installer GeerlingGuy.mysql

Ansible Galaxy -rolle Geerlingguy.mysql skal installeres.

Lag en lekebok install_database.Yaml i Playbooks/ Katalog for testing av Geerlingguy.mysql rolle som følger:

$ nano playbooks/install_database.Yaml

Skriv deretter inn følgende linjer i install_database.Yaml fil.

- Verter: Database
Bruker: Ansible
Bli: Ja
vars_files:
-... /vars /database.Yaml
roller:
- Rolle: Geerlingguy.mysql

Når du er ferdig, trykk + X etterfulgt av Y og For å redde install_database.Yaml fil.

Her, rollen som Geerlingguy.mysql brukes i roller seksjon.

De vars_files Seksjon brukes til å legge til den nødvendige rollen/spillbokvariablene i spillboken. Her vil variablene bli plassert i vars/database.Yaml fil.

Nå, lage en database.Yaml fil i vars/ Katalog som følger:

$ nano vars/database.Yaml

Nå, legg til de ønskede variablene i database.Yaml fil. Jeg har lagt til følgende variabler i database.Yaml fil.

mysql_databases:
- Navn: DB01
Koding: UTF8MB4
Samling: utf8mb4_unicode_ci
mysql_users:
- Navn: Linuxhint
Vert: "%"
Passord: Hemmelighet
Priv: "DB01.*:ALLE"

Disse variablene konfigurerer Geeringguy.mysql rolle slik at den oppretter en ny bruker Linuxhint, Angir passordet hemmelig for Linuxhint bruker, oppretter en ny database DB01 og tilskudd Linuxhint bruker full tilgang til DB01 database.

Når du er ferdig, trykk + X etterfulgt av Y og For å redde database.Yaml fil.

Nå kan du kjøre install_database.Yaml Playbook som følger:

$ Ansible-Playbook Playbooks/Install_Database.Yaml

Som du kan se, kjører spillboken Geerlingguy.mysql rolle. Det kan ta en stund å fullføre.

På dette tidspunktet, install_mysql.Yaml Playbook bør fullføres.

På min VM1.Nodekite.com debian 10 vert, mysql Tjenesten kjører som du kan se på skjermbildet nedenfor,

Jeg kan også logge inn på MySQL -databaseserveren som Linuxhint bruker.

Som du ser, databasen DB01 er også opprettet.

Så det er slik du installerer og bruker Ansible Galaxy -roller.

Installere og bruke Ansible Collections:

I denne delen skal jeg vise deg hvordan du installerer og bruker en Ansible Galaxy Collection. Så la oss komme i gang.

La oss si; Du vil installere Ansible Galaxy Collection Geerlingguy.php_roles.

For å gjøre det, kjør følgende kommando:

$ Ansible-Galaxy Collection Install Geerlingguy.php_roles

Samlingen Geerlingguy.php_roles skal installeres.

For å bruke samlingen, lag en ny Playbook Install_php.Yaml i Playbooks/ Katalog som følger:

$ nano playbooks/install_php.Yaml

Nå, skriv inn følgende linjer i install_php.Yaml fil.

- Verter: Web
Bruker: Ansible
Bli: Ja
Samlinger:
- Geerlingguy.php_roles
roller:
- Rolle: PHP
- Rolle: PHP_VERSIONS
vars:
php_version: '7.3 '

Når du er ferdig, trykk + X etterfulgt av Y og For å redde install_php.Yaml fil.

Disse linjene importerer Geerlingguy.php_roles Samling på spillboken din.

I roller Seksjonen, du kan bruke rollene du trenger fra samlingen din. Her har jeg lagt til 2 roller (PHP og php_versions) fra Geerlingguy.php_roles samling.

De PHP Rollen har ingen rollespesifikke variabler.

Hvis du vil konfigurere en rolle ved hjelp av variabler, kan du legge dem til under vars delen av rolle følgende.

Du kan finne hvilke roller som er tilgjengelige for bruk på den offisielle Ansible Galaxy -siden i samlingen

Den offisielle Ansible Galaxy -siden med rollen vil ha informasjon om hvilke variabler du kan bruke for å konfigurere rollen.

Nå kan du kjøre install_php.Yaml Playbook som følger:

$ Ansible-Playbook Playbooks/Install_php.Yaml

Som du ser kjører spillboken. Det kan ta en stund å fullføre.

På dette tidspunktet bør spillboken fullføres.

Som du kan se, kan jeg få tilgang til Apache 2 Webserver som kjører på Centos 7 -vert VM9.Nodekite.com.

Jeg har også laget en indeks.PHP fil i /var/www/html/ Katalog over min centos 7 vert vm9.Nodekite.com.

Som du kan se, kan webserveren tjene indeks.PHP Side riktig.

Så det er slik du installerer og bruker Ansible Galaxy Collections.

Konklusjon:

I denne artikkelen har jeg forklart hva Ansible Galaxy er. Jeg har også demonstrert hvordan jeg skal installere og bruke roller/samlinger fra Ansible Galaxy. Ansible Galaxy vil hjelpe deg med å unngå å gjenoppfinne hjulet, også kjent som kode repetisjon. Du skal kunne få dine ansible prosjekter gjort raskere ved hjelp av Ansible Galaxy.