Odgovorno

Kako koristiti odgovorne prilagođene činjenice

Kako koristiti odgovorne prilagođene činjenice
Činjenice su poput varijabli u Ansibleu. Ansible generira puno činjenica, ovisno o hostu kojeg automatizira. Ako trebate, također možete definirati prilagođene činjenice / varijable u programu Ansible.

U Ansibleu možete definirati tri vrste prilagođenih činjenica.

1) Globalne činjenice: Te su činjenice dostupne svim domaćinima u vašoj inventarnoj datoteci.
2) Grupiraj činjenice: Te su činjenice dostupne samo određenom skupu domaćina ili grupi domaćina.
3) Činjenice o domaćinu: Te su činjenice dostupne samo određenom domaćinu.

U ovom članku pokazat ću vam kako raditi s korisnim činjenicama Ansible. Pa, krenimo.

Preduvjeti:

Ako želite isprobati primjere ovog članka,

1) Na računalu morate imati instaliran Ansible.
2) Morate imati najmanje 6 Linux hostova konfiguriranih 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 custom-činjenice / u vašem DOM direktorija, pokrenite sljedeću naredbu:

$ mkdir -pv prilagođene činjenice / playbooks, host_vars, group_vars

Sada idite na prilagođene činjenice / direktorij kako slijedi:

$ cd prilagođene činjenice /

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 + x nakon čega slijedi Y i spasiti ansible.usp konfiguracijska datoteka.

Sada 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.

vm1.nodekite.com
vm2.nodekite.com
[mreža]
vm3.nodekite.com
vm4.nodekite.com
[baza podataka]
vm [5: 6].nodekite.com

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti domaćini spis inventara.

Da biste popisali sve dostupne hostove u datoteci inventara, pokrenite sljedeću naredbu:

$ ansible all --list-hosts

Kao što vidite, u svojoj evidenciji inventara imam šest domaćina.

Za popis domaćina dostupnih u mreža grupi svoje inventarne datoteke, pokrenite sljedeću naredbu:

$ ansible web --list-domaćini

Kao što vidite, imam dva domaćina (vm3.nodekite.com i vm4.nodekite.com) u mreža skupina moje inventarne datoteke.

Za popis domaćina dostupnih u baza podataka grupi svoje inventarne datoteke, pokrenite sljedeću naredbu:

Baza podataka $ ansible --list-hosts

Kao što vidite, imam dva domaćina (vm5.nodekite.com i vm6.nodekite.com) u baza podataka grupa moje inventarne datoteke.

Rad s odgovornim globalnim činjenicama:

U ovom odjeljku pokazat ću vam kako definirati globalne činjenice / varijable Ansible u svojoj datoteci inventara i pristupiti im iz svojih knjiga odgovora Ansible. Također ću vam pokazati kako definirati globalne činjenice / varijable u zasebnoj datoteci.

Prvo otvorite domaćina datoteka inventara sa sljedećom naredbom:

$ nano domaćini

Sada dodajte označene retke u svoj domaćina spis inventara. Kada završite, pritisnite + x nakon čega slijedi Y i za spremanje datoteke.

'

Globalne činjenice dodajete u sve: vars odjeljak. Evo, dodao sam web_url globalna činjenica.

Sada izradite novu knjigu pjesama print_global_fact.yaml u igraonice / direktorij kako slijedi:

$ nano playbooks / print_global_fact.yaml

Zatim unesite sljedeće retke u print_global_fact.yaml datoteka.

- domaćini: svi
korisnik: ansible
zadaci:
- ime: Ispis vrijednosti globalne činjenice 'web_url'
otklanjanje pogrešaka:
msg: 'Web URL: web_url'

Svrha ove knjige priloga je ispis web_url globalna činjenica.

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti print_global_fact.yaml datoteka.

Sada pokrenite print_global_fact.yaml playbook kako slijedi:

$ ansible-playbook playbooks / print_global_fact.yaml

Kao što vidite, svi domaćini u mojoj inventarskoj datoteci mogu pristupiti globalnoj činjenici web_url.

Također možete dodati globalne činjenice u zasebnu datoteku. Na ovaj način možete održavati inventarnu datoteku čistom. Pogledajmo kako to učiniti.

Prvo, uklonimo globalne činjenice iz domaćina spis inventara.

$ nano domaćini

Sada uklonite označene redove iz datoteke inventara i pritisnite + x, nakon čega slijedi Y i za spremanje inventarne datoteke.

Zatim stvorite novu datoteku svi u group_vars / direktorij kako slijedi:

$ nano group_vars / sve

Da se doda globalna činjenica web_url, unesite sljedeći redak u group_vars / sve datoteka.

web_url: https: // www.linuxhint.com

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti group_vars / sve datoteka.

Da biste provjerili možete li pristupiti globalnoj činjenici web_url, pokrenite print_global_fact.yaml playbook opet kako slijedi:

$ ansible-playbook playbooks / print_global_fact.yaml

Kao što vidite, svi domaćini u mojoj datoteci inventara mogu pristupiti globalnoj činjenici web_url.

Rad s odgovornim činjenicama grupe:

U ovom odjeljku pokazat ću vam kako definirati činjenice / varijable grupe Ansible u svojoj inventarskoj datoteci i pristupiti im iz vaših knjiga odgovora Ansible. Također ću vam pokazati kako definirati grupne činjenice / varijable u zasebnoj datoteci.

Prvo otvorite domaćina datoteka inventara sa sljedećom naredbom:

$ nano domaćini

Ako imate grupu domaćina grupa1, tada dodajete činjenice / varijable grupe za tu grupu domaćina u grupa1: vars odjeljak vaše inventarne datoteke.

[grupa1]
..
[grupa1: vars]
varijabla1 = vrijednost1
varijabla2 = vrijednost2

Na primjer, za dodavanje grupe činjenica / varijabli naziv domene i baze podataka_bakendi za mreža grupe domaćina, možete upisati označene retke u datoteci inventara.

Kada završite, pritisnite + x nakon čega slijedi Y i za spremanje inventarne datoteke.

Da biste ispisali i testirali možemo li pristupiti činjenicama o grupi, stvorite novu knjigu s igrama print_group_facts.yaml u igraonice / direktorij kako slijedi:

$ nano playbooks / print_group_facts.yaml

Upišite sljedeće retke u svoj print_group_facts.yaml datoteka.

- domaćini: web
korisnik: ansible
zadaci:
- naziv: Ispiši činjenice o grupi
otklanjanje pogrešaka:
msg: 'Ime domene: domain_name Backend baze podataka: database_backend'

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti print_group_facts.yaml datoteka.

Sada pokrenite print_group_facts.yaml playbook kako slijedi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kao što vidite, domaćini u mreža grupa može pristupiti naziv domene i baza podataka_bakend grupirati činjenice / varijable.

A sada, počistimo datoteku inventara i pogledajte kako dodati grupne činjenice / varijable u zasebnu datoteku.

Prvo otvorite domaćina spis inventara kako slijedi:

$ nano činjenice

Uklonite označene crte iz domaćina spis inventara. Kada završite, pritisnite + x nakon čega slijedi Y i spasiti domaćini spis inventara.

Kako dodajemo grupne varijable za mreža grupa domaćina, stvorite novu datoteku mreža (isto kao i naziv grupe) u group_vars / direktorij kako slijedi:

$ nano group_vars / web

Da dodate grupne činjenice naziv domene i baza podataka_bakend za mreža grupi domaćina, dodajte sljedeće retke u group_vars / web datoteka.

ime_domene: web.linuxhint.com
baza podataka_bakend: pgsql

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti group_vars / web datoteka.

Da biste provjerili jesu li domaćini u mreža grupa može pristupiti činjenicama o grupi, pokrenuti print_group_facts.yaml playbook kako slijedi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kao što vidite, domaćini u mreža grupa može pristupiti naziv domene i baza podataka_bakend grupirati činjenice / varijable.

Rad s činjenicama o odgovornom domaćinu:

U ovom odjeljku pokazat ću vam kako definirati činjenice / varijable domaćina Ansible u svojoj inventarnoj datoteci i pristupiti im iz svojih knjiga odgovora Ansible. Također ću vam pokazati kako definirati činjenice / varijable hosta u zasebnoj datoteci.

Prvo otvorite domaćina datoteka inventara sa sljedećom naredbom:

$ nano domaćini

Činjenice / varijable hosta možete dodati nakon DNS imena ili IP adrese hosta u datoteku inventara kako slijedi:

www.domena1.com varijabla1 = vrijednost1 varijabla2 = vrijednost2
192.168.22.2 varijabla1 = vrijednost3 varijabla2 = vrijednost4

Na primjer, možete dodati činjenice / varijable hosta naziv domene i baza podataka_bakend za domaćine vm3.nodekite.com i vm4.nodekite.com, kako je označeno na snimci zaslona u nastavku.

Primijetite da vrijednost naziv domene i baza podataka_bakend činjenice / varijable su različite za svakog domaćina.

Kada završite s dodavanjem činjenica / varijabli o hostu, pritisnite + x, nakon čega slijedi Y i spasiti domaćina spis inventara.

Kako sam dodao iste činjenice / varijable kao u primjeru grupne činjenice / varijable, možemo koristiti print_group_facts.yaml playbook kako bi se testirala dostupnost i ovih činjenica / varijabli.

Pokrenite print_group_facts.yaml playbook kako slijedi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kao što vidite, činjenice / varijable hosta dostupne su navedenom hostu. Vrijednosti su različite i za svakog domaćina.

Kako su svi domaćini u zasebnom retku u mojoj datoteci inventara, lako bih mogao dodati činjenice / varijable hosta u svoju datoteku inventara. Ali, ako koristite domete za definiranje hostova u datoteci inventara kako je označeno na snimci zaslona u nastavku, ne možete dodati činjenice / varijable hosta poput toga.

Činjenice / varijable hosta možete dodati u zasebnu datoteku, baš kao što ste to učinili za globalne i grupne činjenice / varijable.

Da biste dodali činjenice / varijable hosta za vm5.nodekite.com host, stvorite novu datoteku vm5.nodekite.com (isto kao i DNS ime hosta) u host_vars / direktorij kako slijedi:

$ nano host_vars / vm5.nodekite.com

Možete dodati činjenice / varijable hosta db_port i db_name za domaćina vm5.nodekite.com sa sljedećim redovima.

db_port: 3306
db_name: demo1

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti vm5.nodekite.com datoteka.

Na isti način, dodati činjenice / varijable hosta za hosta vm6.nodekite.com, stvoriti novu datoteku vm6.nodekite.com u host_vars / direktorij kako slijedi:

$ nano host_vars / vm6.nodekite.com

Možete dodati činjenice / varijable hosta db_port i db_name za domaćina vm6.nodekite.com sa sljedećim redovima.

db_port: 8877
db_name: app1

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti vm6.nodekite.com datoteka.

Da biste ispisali i testirali možemo li pristupiti činjenicama / varijablama domaćina, stvorite novu knjigu s igrama print_host_facts.yaml u igraonice / direktorij kako slijedi:

$ nano playbooks / print_host_facts.yaml

Sada unesite sljedeće retke u print_host_facts.yaml datoteka.

- domaćini: baza podataka
korisnik: ansible
zadaci:
- ime: Ispis činjenica o hostu
otklanjanje pogrešaka:
msg: 'Ime baze podataka: db_name Port baze podataka: db_port'

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti print_host_facts.yaml datoteka.

Da provjeri je li domaćin vm5.nodekite.com i vm6.nodekite.com može pristupiti činjenicama / varijablama domaćina, pokrenuti print_host_facts.yaml playbook kako slijedi:

$ ansible-playbook playbooks / print_host_facts.yaml

Kao što vidite, domaćini vm5.nodekite.com i vm6.nodekite.com mogu pristupiti db_name i db_port domaćin činjenice / varijable.

Sve to zajedno: Prednost odgovornih činjenica

U ovom odjeljku govorit ću o prevladavajućem činjeničnom / varijabilnom prvenstvu. Pa, krenimo.

Prije nego što započnemo, počistimo inventarnu datoteku.

Otvori domaćina datoteka inventara sa sljedećom naredbom:

$ nano domaćini

Uklonite označeni odjeljak iz inventarne datoteke.

Tako bi u ovom trenutku trebala izgledati vaša inventarna datoteka.

Sada dodajte označeni redak u datoteku inventara. Ovi redovi dodaju globalne činjenice / varijable opseg činjenica i luka.

Zatim dodajte označene retke u datoteku inventara. Ovi redovi dodaju opseg_ činjenica i luka činjenice / varijable za domaćine u baza podataka skupina.

Na kraju dodajte opseg činjenica i luka domaćin činjenice / varijable za vm3.nodekite.com i vm4.nodekite.com domaćini, kako je označeno na snimci zaslona u nastavku.

Kada završite, pritisnite + x nakon čega slijedi Y i za spremanje inventarne datoteke.

Da biste ispisali vrijednost globalnih, grupnih i hostovanih činjenica / varijabli, stvorite novu knjigu priručnika cinjenica_precencija.yaml u igraonice / direktorij kako slijedi:

$ nano knjige za igranje / činjenica_precedencija.yaml

Utipkajte sljedeće retke u činjenica_precedencija.yaml datoteka.

- domaćini: svi
korisnik: ansible
zadaci:
- ime: Ispišite sve činjenice
otklanjanje pogrešaka:
msg: 'Opseg činjenica: fact_scope Ulaz: port'

Kada završite, pritisnite + x nakon čega slijedi Y i spasiti činjenica_precedencija.yaml datoteka.

Za ispis globalnih, grupnih i hostovanih činjenica / varijabli pokrenite činjenica_precedencija.yaml playbook kako slijedi:

$ ansible-playbook playbooks / fact_precedence.yaml

Kao što vidite, ispisuju se globalne, grupne i host činjenice / varijable.

Primijetite da su skupne činjenice / varijable zamijenile globalne činjenice / varijable (1). Također, primijetite da su činjenice / varijable domaćina zamijenile i grupu i globalne činjenice / varijable (2).

Prednost činjenice / varijable Ansible je sljedeća:

Činjenica o domaćinu> Činjenica o grupi> Globalna činjenica

Zaključak:

Nakon što pročitate ovaj članak, trebali biste biti u mogućnosti komotno raditi s globalnim, grupnim i hostovanim činjenicama / varijablama Ansible. Sjetite se prednosti prilagođene činjenice Ansible. Pomoći će vam da lakše ispravite svoje knjige odgovora Ansible.

Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...
Najbolje igre za ručno praćenje
Oculus Quest nedavno je predstavio sjajnu ideju ručnog praćenja bez kontrolera. Sa sve većim brojem igara i aktivnosti koje izvršavaju podršku bilo fo...
Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...