Ansible Galaxy ugošćuje Ansible uloge i kolekcije koje je stvorila zajednica. Umjesto da ih prepisujete ispočetka, možete ih instalirati na računalo pomoću alata naredbenog retka Ansible Galaxy i koristiti ih na svojim playbooks.
Također možete napisati svoje uloge i zbirke i prenijeti ih u Ansible Galaxy. Ovo je izvan dosega ovog članka.
U ovom članku pokazat ću vam kako pomoću alata naredbenog retka Ansible Galaxy instalirati uloge i kolekcije Ansible Galaxy i koristiti ih na svojoj knjizi play. Pa, krenimo.
Preduvjeti:
Ako želite isprobati primjere ovog članka,
1) Na računalu morate imati instaliran Ansible.
2) Morate imati najmanje 2 Linux hosta (Debian 10 i CentOS 7) konfigurirana za Ansible automatizaciju.
Na LinuxHintu postoji mnogo članaka posvećenih Instaliranju Ansible i konfiguriranju hostova za Ansible automatizaciju. Možete ih provjeriti ako je potrebno.
Postavljanje direktorija projekta:
Prije nego što započnemo, kreirajmo direktorij projekta kako bismo mogli organizirati datoteke projekta.
Za stvaranje direktorija projekta galaxy-demo / u vašem DOM direktorija, pokrenite sljedeću naredbu:
$ mkdir -pv galaxy-demo / playbooks, vars
Sada idite na galaxy-demo / direktorij kako slijedi:
$ cd galaxy-demo /
Stvorite konfiguracijsku datoteku Ansible ansible.usp u vašem direktoriju projekta kako slijedi:
$ nano ansible.usp
Utipkajte sljedeće redove ansible.usp datoteka.
[zadane postavke]inventar = domaćini
host_key_checking = Netačno
Kada završite, pritisnite
Stvorite datoteku inventara Ansible domaćini u vašem direktoriju projekta kako slijedi:
$ nano domaćini
Upišite sljedeće retke u svoj domaćina spis inventara.
[baza podataka]vm1.nodekite.com
[mreža]
vm9.nodekite.com
Ovdje, vm1.nodekite.com je Debian 10 domaćin i vm9.nodekite.com je domaćin CentOS 7.
Kada završite, pritisnite
Da biste provjerili možete li pingati udaljene Ansible hostove s računala, pokrenite sljedeću naredbu:
$ ansible sve -u ansible -m ping
Kao što vidite, mogu pingati svoje udaljene Ansible hostove vm1.nodekite.com i vm9.nodekite.com.
Traženje odgovornih uloga i kolekcija galaksije:
Uloge i kolekcije Ansible Galaxy možete potražiti na službenoj web stranici Ansible Galaxy.
Nakon što se web stranica učita, kliknite ikonu pretraživanja da biste potražili uloge i kolekcije Ansible Galaxy.
Sada unesite ono što tražite i kliknite ikonu pretraživanja.
U ovom sam primjeru tražio mysql poslužitelj. Kao što vidite, prikazuje se rezultat pretraživanja.
Pojam za pretraživanje mysql poslužitelj vratio 2 zbirke i mnogo uloga.
Uloga je modul Ansible koji radi određene stvari. Zbirka ima mnogo uloga. To je glavna razlika između uloge i kolekcije.
Da biste vidjeli više informacija o ulozi, kliknite na ulogu.
The Pojedinosti Kartica paketa uloga prikazat će tehničke informacije o ulozi.
The Pročitaj me Kartica će prikazati informacije o instalaciji i upotrebi uloge.
Na isti način, paket za prikupljanje sadržavat će informacije o instalaciji na Pojedinosti tab.
Na Sadržaj na kartici će se prikazati uloge koje će zbirke instalirati.
The Pročitaj me Kartica će prikazati korisne informacije o zbirci.
Instaliranje i korištenje odgovornih uloga galaksije:
U ovom odjeljku pokazat ću vam kako instalirati i koristiti ulogu Ansible Galaxy. Pa, krenimo.
Recimo; želite instalirati ulogu Ansible Galaxy gerlingguy.mysql.
Da biste to učinili, pokrenite sljedeću naredbu:
$ ansible-galaxy instaliraj geerlingguy.mysql
Uloga odgovorne galaksije gerlingguy.mysql treba instalirati.
Stvorite knjigu za igru baza podataka_instaliraj.yaml u igraonice / direktorij za testiranje gerlingguy.mysql uloga kako slijedi:
$ nano playbooks / install_database.yaml
Zatim unesite sljedeće retke u baza podataka_instaliraj.yaml datoteka.
- domaćini: baza podatakakorisnik: ansible
postati: da
vars_files:
-… / Vars / baza podataka.yaml
uloge:
- uloga: geerlingguy.mysql
Kada završite, pritisnite
Ovdje je uloga gerlingguy.mysql koristi se u uloge odjeljak.
The vars_files Odjeljak se koristi za dodavanje potrebnih varijabli uloga / playbook u playbook. Ovdje će varijable biti smještene u vars / baza podataka.yaml datoteka.
Sada stvorite a baza podataka.yaml datoteku u vars / direktorij kako slijedi:
$ nano vars / baza podataka.yaml
Sada dodajte željene varijable u baza podataka.yaml datoteka. Dodao sam sljedeće varijable u baza podataka.yaml datoteka.
mysql_databases:- naziv: db01
kodiranje: utf8mb4
usporedba: utf8mb4_unicode_ci
mysql_users:
- naziv: linuxhint
domaćin: "%"
lozinka: tajna
priv: "db01.*:SVI"
Te se varijable konfiguriraju geeringguy.mysql ulogu tako da stvara novog korisnika linuxhint, postavlja lozinku tajna za linuxhint korisnik, kreira novu bazu podataka db01 i potpore linuxhint korisnik puni pristup db01 baza podataka.
Kada završite, pritisnite
Sada možete pokrenuti baza podataka_instaliraj.yaml playbook kako slijedi:
$ ansible-playbook playbooks / install_database.yaml
Kao što vidite, playbook pokreće gerlingguy.mysql uloga. Dovršenje može potrajati.
U ovom trenutku, install_mysql.yaml igraonica treba biti dovršena.
Na mom vm1.nodekite.com Debian 10 domaćin, mysql usluga je pokrenuta kao što možete vidjeti na snimci zaslona u nastavku,
Također se mogu prijaviti na MySQL poslužitelj baze podataka kao linuxhint korisnik.
Kao što vidite, baza podataka db01 je također stvoren.
Dakle, ovo je način na koji instalirate i koristite uloge Ansible Galaxy.
Instaliranje i korištenje zbirki odgovora:
U ovom odjeljku pokazat ću vam kako instalirati i koristiti kolekciju Ansible Galaxy. Pa, krenimo.
Recimo; želite instalirati kolekciju Ansible Galaxy gerlingguy.php_roles.
Da biste to učinili, pokrenite sljedeću naredbu:
$ ansible-galaxy collection instalirajte geerlingguy.php_roles
Kolekcija gerlingguy.php_roles treba instalirati.
Da biste koristili zbirku, stvorite novu playbook install_php.yaml u igraonice / direktorij kako slijedi:
$ nano playbooks / install_php.yaml
Sada unesite sljedeće retke u install_php.yaml datoteka.
- domaćini: webkorisnik: ansible
postati: da
zbirke:
- gerlingguy.php_roles
uloge:
- uloga: php
- uloga: php_versions
varira:
php_version: '7.3 '
Kada završite, pritisnite
Ovi redovi uvoze gerlingguy.php_roles zbirka na vašoj knjizi igara.
U uloge odjeljku možete koristiti uloge koje vam trebaju iz vaše kolekcije. Evo, dodao sam 2 uloge (php i php_versions) od gerlingguy.php_roles kolekcija.
The php role nema nikakve varijable specifične za ulogu.
Ako želite konfigurirati ulogu pomoću varijabli, možete ih dodati pod vars odjeljak uloga kako slijedi.
Koje su uloge dostupne za upotrebu, možete pronaći na službenoj stranici kolekcije Ansible Galaxy
Službena stranica Ansible Galaxy uloge sadržavat će informacije o tome koje varijable možete koristiti za konfiguriranje uloge.
Sada možete pokrenuti install_php.yaml playbook kako slijedi:
$ ansible-playbook playbooks / install_php.yaml
Kao što vidite, igrana knjiga radi. Dovršenje može potrajati.
U ovom trenutku, knjiga s igrama trebala bi biti dovršena.
Kao što vidite, mogu pristupiti web poslužitelju Apache 2 koji radi na mom CentOS 7 hostu vm9.nodekite.com.
Također sam stvorio indeks.php datoteku u / var / www / html / direktorij mog CentOS 7 domaćina vm9.nodekite.com.
Kao što vidite, web poslužitelj može poslužiti indeks.php stranicu ispravno.
Dakle, na taj način instalirate i koristite kolekcije Ansible Galaxy.
Zaključak:
U ovom sam članku objasnio što je Ansible Galaxy. Također sam pokazao kako instalirati i koristiti uloge / kolekcije iz Ansible Galaxya. Ansible Galaxy pomoći će vam da izbjegnete ponovno otkrivanje kotača, poznato i kao ponavljanje koda. Trebali biste biti u mogućnosti brže obaviti svoje projekte Ansible pomoću Ansible Galaxy.