Ansible

Hvordan bruke Ansible Galaxy

Hvordan bruke Ansible Galaxy
Ansible Galaxy er en rolle- og samlingsleder for Ansible. Du kan sammenligne det med NPM (Node Package Manager) pakkebehandling av 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 hjelp av Ansible Galaxy kommandolinjeverktøy og bruke dem på spillbøkene dine.

Du kan også skrive roller og samlinger 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øy for å installere Ansible Galaxy-roller og samlinger og bruke dem på spillboken. 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 en CentOS 7) konfigurert for Ansible-automatisering.

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

Sette opp en prosjektkatalog:

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

Å lage en prosjektkatalog galakse-demo / i din HJEM katalog, kjør følgende kommando:

$ mkdir -pv galaxy-demo / playbooks, vars

Nå, naviger til galakse-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.

[standard]
inventar = verter
host_key_checking = Usann

Når du er ferdig, trykk + X etterfulgt av Y og for å redde ansible.cfg konfigurasjonsfil.

Opprett en Ansible beholdningsfil verter i prosjektkatalogen din som følger:

$ nano verter

Skriv inn følgende linjer i 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 Ansible-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å den offisielle nettsiden til Ansible Galaxy.

Når nettsiden er lastet inn, klikker du på søkeikonet for å søke etter Ansible Galaxy-roller og samlinger.

Nå skriver du inn det du leter etter og klikker på søkeikonet.

I dette eksemplet har jeg søkt etter mysql server. Som du kan se, vises søkeresultatet.

Søkeordet mysql server returnerte 2 samlinger og mange roller.

En rolle er en Ansible-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, klikk på rollen.

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

De Les meg kategorien viser informasjonen om installasjon og bruk av rollen.

På samme måte vil en samlepakke ha installasjonsinformasjon på Detaljer fanen.

Innhold på fanen, vises rollene samlingene vil installere.

De Les meg fanen 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 installere geerlingguy.mysql

Ansible Galaxy-rolle geerlingguy.mysql skal installeres.

Lag en lekebok install_database.yaml i lekebøker / 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 til geerlingguy.mysql brukes i roller seksjon.

De vars_files seksjonen brukes til å legge til de nødvendige rolle- / lekebokvariablene i lekeboken. Her vil variablene plasseres i vars / database.yaml fil.

Lag nå en database.yaml filen i vars / katalog som følger:

$ nano vars / database.yaml

Legg nå til dine ønskede variabler i database.yaml fil. Jeg har lagt til følgende variabler i database.yaml fil.

mysql_databases:
- navn: db01
koding: utf8mb4
sortering: utf8mb4_unicode_ci
mysql_users:
- navn: linuxhint
vert: "%"
passord: hemmelig
priv: "db01.*:ALLE"

Disse variablene konfigureres geeringguy.mysql rolle slik at den skaper en ny bruker linuxhint, angir passordet hemmelig for linuxhint bruker, oppretter en ny database db01 og tilskudd linuxhint brukeren 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 spillbok som følger:

$ ansible-playbook playbooks / install_database.yaml

Som du kan se, kjører spillboken geerlingguy.mysql rolle. Det kan ta litt tid å fullføre.

På dette punktet, install_mysql.yaml spillboken skal være ferdig.

På min VM1.nodekite.com Debian 10 vert, the mysql tjenesten kjører som du kan se på skjermbildet nedenfor,

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

Som du kan se, er databasen db01 er også opprettet.

Så dette er hvordan 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-samling. Så la oss komme i gang.

La oss si; du vil installere Ansible Galaxy-samlingen geerlingguy.php_roles.

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

$ ansible-galaxy collection installer geerlingguy.php_roles

Samlingen geerlingguy.php_roles skal installeres.

For å bruke samlingen, opprett en ny playbook install_php.yaml i lekebøker / katalog som følger:

$ nano playbooks / install_php.yaml

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.

I roller delen, kan du bruke rollene du trenger fra samlingen din. Her har jeg lagt til to roller (php og php_versions) fra geerlingguy.php_roles samling.

De php rolle har ingen rollespesifikke variabler.

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

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

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

Nå kan du kjøre install_php.yaml spillbok som følger:

$ ansible-playbook playbooks / install_php.yaml

Som du kan se, kjører spillboken. Det kan ta litt tid å fullføre.

På dette tidspunktet skal lekeboken være ferdig.

Som du kan se, har jeg tilgang til Apache 2-webserveren som kjører på min CentOS 7-vert vm9.nodekite.com.

Jeg har også opprettet en indeks.php filen i / var / www / html / katalog av min CentOS 7-vert vm9.nodekite.com.

Som du kan se, kan webserveren tjene indeks.php siden riktig.

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

Konklusjon:

I denne artikkelen har jeg forklart hva Ansible Galaxy er. Jeg har også demonstrert hvordan jeg installerer og bruker roller / samlinger fra Ansible Galaxy. Ansible Galaxy hjelper deg med å unngå å finne opp hjulet på nytt, også kjent som kode repetisjon. Du burde kunne få Ansible-prosjektene dine gjort raskere ved hjelp av Ansible Galaxy.

Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...
Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...