Synlig

Sådan bruges Ansible Galaxy

Sådan bruges Ansible Galaxy
Ansible Galaxy er en rolle- og indsamlingschef for Ansible. Du kan sammenligne det med NPM (Node Package Manager) pakkehåndtering af Node.js.

Ansible Galaxy er vært for Ansible roller og samlinger oprettet af samfundet. I stedet for at omskrive dem fra bunden kan du installere det på din computer ved hjælp af Ansible Galaxy kommandolinjeværktøj og bruge dem på dine playbøger.

Du kan også skrive dine roller og samlinger og uploade dem til Ansible Galaxy. Dette er uden for denne artikels anvendelsesområde.

I denne artikel vil jeg vise dig, hvordan du bruger Ansible Galaxy kommandolinjeværktøj til at installere Ansible Galaxy-roller og samlinger og bruge dem på din playbook. Så lad os komme i gang.

Forudsætninger:

Hvis du vil prøve eksemplerne på denne artikel,

1) Du skal have Ansible installeret på din computer.

2) Du skal have mindst 2 Linux-værter (en Debian 10 og en CentOS 7) konfigureret til Ansible-automatisering.

Der er mange artikler om LinuxHint dedikeret til installation af Ansible og konfigurering af værter til Ansible-automatisering. Du kan tjekke dem ud, hvis det er nødvendigt.

Opsætning af et projektkatalog:

Lad os oprette en projektmappe, inden vi kommer i gang, så vi kan organisere vores projektfiler.

For at oprette et projektmappe galakse-demo / i din HJEM bibliotek, kør følgende kommando:

$ mkdir -pv galaxy-demo / playbooks, vars

Naviger nu til galakse-demo / katalog som følger:

$ cd galaxy-demo /

Opret en Ansible konfigurationsfil ansible.cfg i din projektmappe som følger:

$ nano ansible.cfg

Indtast de følgende linjer din ansible.cfg fil.

[standard]
beholdning = værter
host_key_checking = Falsk

Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde ansible.cfg konfigurationsfil.

Opret en Ansible beholdningsfil værter i din projektmappe som følger:

$ nano værter

Indtast følgende linjer i din værtens opgørelsesfil.

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

Her, vm1.nodekite.com er en Debian 10-vært, og vm9.nodekite.com er en CentOS 7-vært.

Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde værter opgørelsesfil.

For at kontrollere, om du kan pinge de eksterne Ansible-værter fra din computer, skal du køre følgende kommando:

$ ansible all -u ansible -m ping

Som du kan se, kan jeg pinge til mine eksterne Ansible-værter vm1.nodekite.com og vm9.nodekite.com.

Søger efter Ansible Galaxy-roller og samlinger:

Du kan søge efter Ansible Galaxy-roller og samlinger på Ansible Galaxy's officielle hjemmeside.

Når websiden er indlæst, skal du klikke på søgeikonet for at søge efter Ansible Galaxy-roller og samlinger.

Indtast nu det, du leder efter, og klik på søgeikonet.

I dette eksempel har jeg søgt efter mysql-server. Som du kan se, vises søgeresultatet.

Søgeudtrykket mysql-server returnerede 2 samlinger og mange roller.

En rolle er et Ansible-modul, der gør bestemte ting. En samling har mange roller. Det er den største forskel mellem en rolle og en samling.

Klik på rollen for at se flere oplysninger om en rolle.

Det detaljer fanen i en rollepakke viser teknisk information om rollen.

Det Læs mig fanen vil vise installations- og brugsoplysningerne for rollen.

På samme måde vil en indsamlingspakke have installationsoplysninger på detaljer fanen.

På den Indhold fanen vises de roller, som samlingerne vil installere.

Det Læs mig fanen viser nyttige oplysninger om samlingen.

Installation og brug af anvendelige Galaxy-roller:

I dette afsnit vil jeg vise dig, hvordan du installerer og bruger en Ansible Galaxy-rolle. Så lad os komme i gang.

Lad os sige; du vil installere rollen Ansible Galaxy geerlingguy.mysql.

For at gøre det skal du køre følgende kommando:

$ ansible-galaxy installere geerlingguy.mysql

Ansible Galaxy-rolle geerlingguy.mysql skal installeres.

Opret en playbook install_database.yaml i legebøger / bibliotek til test af geerlingguy.mysql rolle som følger:

$ nano playbooks / install_database.yaml

Indtast derefter de følgende linjer i install_database.yaml fil.

- værter: database
bruger: ansible
blive: ja
vars_files:
-… / Vars / database.yaml
roller:
- rolle: geerlingguy.mysql

Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde install_database.yaml fil.

Her er rollen som geerlingguy.mysql bruges i roller afsnit.

Det vars_files sektion bruges til at føje de krævede rolle- / playbook-variabler til playbook. Her placeres variablerne i vars / database.yaml fil.

Opret nu en database.yaml fil i vars / katalog som følger:

$ nano vars / database.yaml

Tilføj nu dine ønskede variabler i database.yaml fil. Jeg har tilføjet følgende variabler i database.yaml fil.

mysql_databases:
- navn: db01
kodning: utf8mb4
sortering: utf8mb4_unicode_ci
mysql_users:
- navn: linuxhint
vært: "%"
adgangskode: hemmelig
priv: "db01.*:ALLE"

Disse variabler konfigureres geeringguy.mysql rolle, så den opretter en ny bruger linuxhint, indstiller adgangskoden hemmelighed til linuxhint bruger, opretter en ny database db01 og tilskud linuxhint brugerens fulde adgang til db01 database.

Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde database.yaml fil.

Nu kan du køre install_database.yaml playbook som følger:

$ ansible-playbook playbooks / install_database.yaml

Som du kan se, kører afspilningsbogen geerlingguy.mysql rolle. Det kan tage et stykke tid at gennemføre.

På dette tidspunkt er den install_mysql.yaml playbook skal være afsluttet.

På min VM1.nodekite.com Debian 10 vært, den mysql tjenesten kører som du kan se på skærmbilledet nedenfor,

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

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

Så dette er, hvordan du installerer og bruger Ansible Galaxy-roller.

Installation og brug af anvendelige samlinger:

I dette afsnit vil jeg vise dig, hvordan du installerer og bruger en Ansible Galaxy-samling. Så lad os komme i gang.

Lad os sige; du vil installere Ansible Galaxy-samlingen geerlingguy.php_roles.

For at gøre det skal du køre følgende kommando:

$ ansible-galaxy collection installer geerlingguy.php_roles

Samlingen geerlingguy.php_roles skal installeres.

For at bruge samlingen skal du oprette en ny playbook install_php.yaml i legebøger / katalog som følger:

$ nano playbooks / install_php.yaml

Skriv nu de følgende linjer i install_php.yaml fil.

- værter: web
bruger: ansible
blive: ja
samlinger:
- geerlingguy.php_roles
roller:
- rolle: php
- rolle: php_versions
vars:
php_version: '7.3 '

Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde install_php.yaml fil.

Disse linjer importerer geerlingguy.php_roles samling på din playbook.

I roller sektion, kan du bruge de roller, du har brug for fra din samling. Her har jeg tilføjet 2 roller (php og php_versioner) fra geerlingguy.php_roles kollektion.

Det php rolle har ingen rolle-specifikke variabler.

Hvis du vil konfigurere en rolle ved hjælp af variabler, kan du tilføje dem under vars sektion af rolle som følger.

Du kan finde, hvilke roller der er tilgængelige til brug på den officielle Ansible Galaxy-side i samlingen

Den officielle Ansible Galaxy-side i rollen vil have oplysninger om, hvilke variabler du kan bruge til at konfigurere rollen.

Nu kan du køre install_php.yaml playbook som følger:

$ ansible-playbook playbooks / install_php.yaml

Som du kan se, kører afspilningsbogen. Det kan tage et stykke tid at gennemføre.

På dette tidspunkt skal playbook være afsluttet.

Som du kan se, kan jeg få adgang til Apache 2-webserveren, der kører på min CentOS 7-vært vm9.nodekite.com.

Jeg har også oprettet en indeks.php fil i / var / www / html / katalog over min CentOS 7-vært vm9.nodekite.com.

Som du kan se, kan webserveren tjene indeks.php side korrekt.

Så det er sådan, du installerer og bruger Ansible Galaxy-samlinger.

Konklusion:

I denne artikel har jeg forklaret, hvad Ansible Galaxy er. Jeg har også demonstreret, hvordan man installerer og bruger roller / samlinger fra Ansible Galaxy. Ansible Galaxy hjælper dig med at undgå at genopfinde hjulet, også kendt som gentagelse af kode. Du skal være i stand til at få dine Ansible-projekter gjort hurtigere ved hjælp af Ansible Galaxy.

Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...