Odgovorno

Kako uporabiti odgovorna dejstva po meri

Kako uporabiti odgovorna dejstva po meri
Dejstva so v spremenljivki kot spremenljivke. Ansible ustvari veliko dejstev, odvisno od gostitelja, ki ga avtomatizira. Če potrebujete, lahko v programu Ansible določite tudi dejstva / spremenljivke po meri.

V programu Ansible lahko določite tri vrste dejstev po meri.

1) Globalna dejstva: Ta dejstva so dostopna vsem gostiteljem v vaši inventarni datoteki.
2) Skupinska dejstva: Ta dejstva so dostopna samo določenemu naboru gostiteljev ali gostiteljski skupini.
3) Dejstva gostitelja: Ta dejstva so dostopna samo določenemu gostitelju.

V tem članku vam bom pokazal, kako delati z dejstvi po meri Ansible. Torej, začnimo.

Pogoji:

Če želite preizkusiti primere tega članka,

1) V računalniku mora biti nameščen Ansible.
2) Za avtomatizacijo Ansible morate imeti konfiguriranih vsaj 6 gostiteljev Linuxa.

V LinuxHintu je veliko člankov, namenjenih namestitvi programa Ansible in konfiguriranju gostiteljev za avtomatizacijo Ansible. Po potrebi jih lahko preverite.

Nastavitev imenika projektov:

Preden začnemo, ustvarimo projektni imenik, da bomo lahko organizirali svoje projektne datoteke.

Če želite ustvariti imenik projekta dejstva po meri / v vašem DOMOV imenik, zaženite naslednji ukaz:

$ mkdir -pv dejstva po meri / playbooks, host_vars, group_vars

Zdaj se pomaknite do dejstva po meri / imenik, kot sledi:

$ cd dejstva po meri /

Ustvarite konfiguracijsko datoteko Ansible ansible.prim v imeniku vašega projekta, kot sledi:

$ nano ansible.prim

V naslednje vrstice vnesite vaš ansible.prim mapa.

[privzeto]
inventar = gostitelji
host_key_checking = False

Ko končate, pritisnite + X čemur sledi Y in shraniti ansible.prim konfiguracijska datoteka.

Zdaj ustvarite datoteko inventarja Ansible gostitelji v imeniku vašega projekta, kot sledi:

$ nano gostitelji

Vnesite naslednje vrstice v svoj gostitelja inventarna datoteka.

vm1.nodekite.com
vm2.nodekite.com
[splet]
vm3.nodekite.com
vm4.nodekite.com
[baza podatkov]
vm [5: 6].nodekite.com

Ko končate, pritisnite + X čemur sledi Y in shraniti gostitelji inventarna datoteka.

Če želite v svoji inventarni datoteki navesti vse razpoložljive gostitelje, zaženite naslednji ukaz:

$ ansible all --list-hosts

Kot lahko vidite, imam v svoji inventarni datoteki šest gostiteljev.

Za seznam gostiteljev, ki so na voljo v splet skupino datoteke z inventarjem zaženite naslednji ukaz:

$ ansible web --list-hosts

Kot lahko vidite, imam dva gostitelja (vm3.nodekite.com in vm4.nodekite.com) v splet skupina moje inventarne datoteke.

Za seznam gostiteljev, ki so na voljo v zbirka podatkov skupino datoteke z inventarjem zaženite naslednji ukaz:

Baza podatkov $ ansible --list-hosts

Kot vidite, imam dva gostitelja (vm5.nodekite.com in vm6.nodekite.com) v zbirka podatkov skupina moje inventarne datoteke.

Delo z odgovornimi globalnimi dejstvi:

V tem poglavju vam bom pokazal, kako v svoji inventarni datoteki določite globalna dejstva / spremenljivke Ansible in do njih dostopate iz svojih knjig za igranje Ansible. Pokazal vam bom tudi, kako v ločeni datoteki določite globalna dejstva / spremenljivke.

Najprej odprite gostitelja datoteka z naslednjim ukazom:

$ nano gostitelji

Zdaj dodajte označene vrstice v svoj gostitelja inventarna datoteka. Ko končate, pritisnite + X čemur sledi Y in shranite datoteko.

"

Globalna dejstva dodate v vsi: vars odsek. Tu sem dodal spletni_url globalno dejstvo.

Zdaj ustvarite novo igro print_global_fact.yaml v igralne knjige / imenik, kot sledi:

$ nano playbooks / print_global_fact.yaml

Nato v vrstico vnesite naslednje vrstice print_global_fact.yaml mapa.

- gostitelji: vsi
uporabnik: ansible
naloge:
- ime: Natisnite vrednost globalnega dejstva 'web_url'
odpravljanje napak:
msg: 'Spletni URL: web_url'

Namen te knjige je tiskati spletni_url globalno dejstvo.

Ko končate, pritisnite + X čemur sledi Y in shraniti print_global_fact.yaml mapa.

Zdaj zaženite print_global_fact.yaml playbook, kot sledi:

$ ansible-playbook playbooks / print_global_fact.yaml

Kot lahko vidite, lahko vsi gostitelji v moji inventarni datoteki dostopajo do globalnega dejstva spletni_url.

Globalna dejstva lahko dodate tudi v ločeno datoteko. Tako lahko inventarno datoteko ohranite čisto. Poglejmo, kako to storiti.

Najprej odstranimo globalna dejstva iz gostitelja inventarna datoteka.

$ nano gostitelji

Zdaj odstranite označene vrstice iz inventarne datoteke in pritisnite + X, čemur sledi Y in shranite datoteko inventarja.

Nato ustvarite novo datoteko vse v group_vars / imenik, kot sledi:

$ nano group_vars / vse

Če dodamo še globalno dejstvo spletni_url, vnesite naslednjo vrstico v group_vars / all mapa.

spletni_url: https: // www.linuxhint.com

Ko končate, pritisnite + X čemur sledi Y in shraniti group_vars / all mapa.

Če želite preveriti, ali lahko dostopate do globalnega dejstva spletni_url, zaženite print_global_fact.yaml igro znova, kot sledi:

$ ansible-playbook playbooks / print_global_fact.yaml

Kot lahko vidite, lahko vsi gostitelji v moji inventarni datoteki dostopajo do globalnega dejstva spletni_url.

Delo z dejstvi Ansible Group:

V tem poglavju vam bom pokazal, kako v svoji inventarni datoteki definirate dejstva / spremenljivke skupine Ansible in do njih dostopate iz svojih knjig za igranje Ansible. Pokazal vam bom tudi, kako v ločeni datoteki določite skupinska dejstva / spremenljivke.

Najprej odprite gostitelja datoteka z naslednjim ukazom:

$ nano gostitelji

Če imate gostiteljsko skupino skupina1, nato dodate dejstva / spremenljivke skupine za to gostiteljsko skupino v skupina1: vari del vaše inventarne datoteke.

[skupina1]
..
[skupina1: različice]
spremenljivka1 = vrednost1
spremenljivka2 = vrednost2

Na primer, da dodate skupino dejstev / spremenljivk domena in database_backends za splet gostiteljsko skupino, lahko vnesete označene vrstice v svojo inventarno datoteko.

Ko končate, pritisnite + X čemur sledi Y in shranite datoteko inventarja.

Če želite natisniti in preizkusiti, ali lahko dostopamo do skupinskih dejstev, ustvarite novo igro print_group_facts.yaml v igralne knjige / imenik, kot sledi:

$ nano playbooks / print_group_facts.yaml

Vnesite naslednje vrstice v svoj print_group_facts.yaml mapa.

- gostitelji: splet
uporabnik: ansible
naloge:
- ime: Natisni dejstva o skupini
odpravljanje napak:
msg: 'Domain Name: domain_name Backend baze podatkov: database_backend'

Ko končate, pritisnite + X čemur sledi Y in shraniti print_group_facts.yaml mapa.

Zdaj zaženite print_group_facts.yaml playbook, kot sledi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kot lahko vidite, so gostitelji v splet skupina lahko dostopa do domena in database_backend skupino dejstev / spremenljivk.

Zdaj pa počistimo datoteko z inventarjem in poglejmo, kako v ločeno datoteko dodamo skupinska dejstva / spremenljivke.

Najprej odprite gostitelja inventarna datoteka, kot sledi:

$ nano dejstva

Odstranite označene črte iz gostitelja inventarna datoteka. Ko končate, pritisnite + X čemur sledi Y in shraniti gostitelji inventarna datoteka.

Ker dodajamo skupinske spremenljivke za splet gostiteljska skupina, ustvarite novo datoteko splet (enako kot ime skupine) v group_vars / imenik, kot sledi:

$ nano group_vars / web

Če želite dodati skupinska dejstva domena in database_backend za splet gostiteljski skupini, dodajte naslednje vrstice v group_vars / web mapa.

ime_domene: splet.linuxhint.com
database_backend: pgsql

Ko končate, pritisnite + X čemur sledi Y in shraniti group_vars / web mapa.

Če želite preveriti, ali gostitelji v splet Skupina lahko dostopa do dejstev v skupini, zažene print_group_facts.yaml playbook, kot sledi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kot lahko vidite, so gostitelji v splet skupina lahko dostopa do domena in database_backend skupino dejstev / spremenljivk.

Delo z dejstvi o odgovornih gostiteljih:

V tem razdelku vam bom pokazal, kako v svoji inventarni datoteki določite dejstva / spremenljivke gostitelja Ansible in do njih dostopate iz svojih knjig za igranje Ansible. Pokazal vam bom tudi, kako v ločeni datoteki definirate dejstva / spremenljivke gostitelja.

Najprej odprite gostitelja datoteka z naslednjim ukazom:

$ nano gostitelji

Dejstva / spremenljivke gostitelja lahko dodate za imenom DNS ali naslovom IP gostitelja v datoteki inventarja, kot sledi:

www.domena1.com spremenljivka1 = vrednost1 spremenljivka2 = vrednost2
192.168.22.2 spremenljivka1 = vrednost3 spremenljivka2 = vrednost4

Na primer, lahko dodate dejstva / spremenljivke gostitelja domena in database_backend za gostitelje vm3.nodekite.com in vm4.nodekite.com, kot je označeno na spodnjem posnetku zaslona.

Upoštevajte, da je vrednost domena in database_backend dejstva / spremenljivke se pri vsakem gostitelju razlikujejo.

Ko končate z dodajanjem dejstev / spremenljivk gostitelja, pritisnite + X, čemur sledi Y in shraniti gostitelja inventarna datoteka.

Ker sem dodal enaka dejstva / spremenljivke kot v primeru skupinske dejstva / spremenljivke, lahko uporabimo print_group_facts.yaml playbook, da preizkusite tudi dostopnost teh dejstev / spremenljivk.

Zaženite print_group_facts.yaml playbook, kot sledi:

$ ansible-playbook playbooks / print_group_facts.yaml

Kot lahko vidite, so dejstva / spremenljivke gostitelja dostopne določenemu gostitelju. Vrednosti se razlikujejo tudi za vsakega gostitelja.

Ker so vsi gostitelji v ločeni vrstici v moji inventarni datoteki, bi lahko brez težav dodal dejstva / spremenljivke gostitelja v svojo inventarno datoteko. Če pa obsege uporabljate za definiranje gostiteljev v datoteki inventarja, kot je označeno na spodnjem posnetku zaslona, ​​ne morete dodati takšnih dejstev / spremenljivk.

Dejstva / spremenljivke gostitelja lahko dodate v ločeno datoteko, tako kot ste to storili za globalna in skupinska dejstva / spremenljivke.

Če želite dodati dejstva / spremenljivke gostitelja za vm5.nodekite.com gostitelj, ustvarite novo datoteko vm5.nodekite.com (enako kot gostiteljsko ime DNS) v gostitelji_vars / imenik, kot sledi:

$ nano host_vars / vm5.nodekite.com

Lahko dodate dejstva / spremenljivke gostitelja db_port in db_name za gostitelja vm5.nodekite.com z naslednjimi vrsticami.

db_port: 3306
db_name: demo1

Ko končate, pritisnite + X čemur sledi Y in shraniti vm5.nodekite.com mapa.

Na enak način, da dodate dejstva / spremenljivke gostitelja za gostitelja vm6.nodekite.com, ustvari novo datoteko vm6.nodekite.com v gostitelji_vars / imenik, kot sledi:

$ nano host_vars / vm6.nodekite.com

Lahko dodate dejstva / spremenljivke gostitelja db_port in db_name za gostitelja vm6.nodekite.com z naslednjimi vrsticami.

db_port: 8877
db_name: app1

Ko končate, pritisnite + X čemur sledi Y in shraniti vm6.nodekite.com mapa.

Če želite natisniti in preizkusiti, ali lahko dostopamo do dejstev / spremenljivk gostitelja, ustvarite novo igro print_host_facts.yaml v igralne knjige / imenik, kot sledi:

$ nano playbooks / print_host_facts.yaml

Zdaj vnesite naslednje vrstice v print_host_facts.yaml mapa.

- gostitelji: baza podatkov
uporabnik: ansible
naloge:
- ime: Natisni dejstva o gostiteljih
odpravljanje napak:
msg: 'Ime baze podatkov: db_name Vrata baze podatkov: db_port'

Ko končate, pritisnite + X čemur sledi Y in shraniti print_host_facts.yaml mapa.

Če želite preveriti, ali gostitelj vm5.nodekite.com in vm6.nodekite.com lahko dostopa do dejstev / spremenljivk gostitelja, zažene print_host_facts.yaml playbook, kot sledi:

$ ansible-playbook playbooks / print_host_facts.yaml

Kot vidite, gostitelji vm5.nodekite.com in vm6.nodekite.com lahko dostopate do db_name in db_port gostiteljica dejstev / spremenljivk.

Vse skupaj: prednost pred odgovornimi dejstvi

V tem poglavju bom govoril o prednostnem dejstvu / spremenljivki Ansible. Torej, začnimo.

Preden začnemo, očistimo inventarno datoteko.

Odprite gostitelja datoteka z naslednjim ukazom:

$ nano gostitelji

Odstranite označeni odsek iz inventarne datoteke.

Tako naj bi v tem trenutku izgledala vaša inventarna datoteka.

Zdaj dodajte označeno vrstico v svojo inventarno datoteko. Te vrstice dodajo globalna dejstva / spremenljivke fact_scope in pristanišče.

Nato dodajte označene vrstice v svojo inventarno datoteko. Te vrstice dodajo fact_scope in pristanišče dejstva / spremenljivke za gostitelje v zbirka podatkov skupini.

Na koncu dodajte fact_scope in pristanišče gostiteljica dejstev / spremenljivk za vm3.nodekite.com in vm4.nodekite.com gostitelji, kot je označeno na spodnjem posnetku zaslona.

Ko končate, pritisnite + X čemur sledi Y in shranite datoteko inventarja.

Če želite natisniti vrednost globalnih, skupinskih in gostiteljskih dejstev / spremenljivk, ustvarite novo igro dejstvo_prednost.yaml v igralne knjige / imenik, kot sledi:

$ nano playbooks / fact_precedence.yaml

Vnesite naslednje vrstice v dejstvo_prednost.yaml mapa.

- gostitelji: vsi
uporabnik: ansible
naloge:
- ime: Natisnite vsa dejstva
odpravljanje napak:
msg: 'Obseg dejstev: fact_scope Vrata: port'

Ko končate, pritisnite + X čemur sledi Y in shraniti dejstvo_prednost.yaml mapa.

Če želite natisniti globalna, skupinska in gostiteljska dejstva / spremenljivke, zaženite dejstvo_prednost.yaml playbook, kot sledi:

$ ansible-playbook playbooks / fact_precedence.yaml

Kot lahko vidite, se natisnejo globalna, skupinska in gostiteljska dejstva / spremenljivke.

Opazite, da so skupna dejstva / spremenljivke nadomestila globalna dejstva / spremenljivke (1). Upoštevajte tudi, da so gostiteljska dejstva / spremenljivke nadomestila skupinsko in globalna dejstva / spremenljivke (2).

Prednost dejstva / spremenljivke Ansible je naslednja:

Dejstvo gostitelja> Dejstvo skupine> Globalno dejstvo

Zaključek:

Po branju tega članka boste lahko udobno delali z globalnimi, skupinskimi in gostiteljskimi dejstvi / spremenljivkami Ansible. Ne pozabite na prednostno dejstvo po meri Ansible. Pomagal vam bo lažje odpraviti napake v knjigah Ansible.

Levi gumb miške ne deluje v sistemu Windows 10
Če s prenosnikom ali namiznim računalnikom uporabljate namensko miško, vendar gumb miške z levim klikom ne deluje v operacijskem sistemu Windows 10/8/...
Kazalec skoči ali se naključno premika med tipkanjem v sistemu Windows 10
Če ugotovite, da kazalec miške med tipkanjem v prenosnem računalniku ali računalniku Windows samodejno, naključno preskakuje ali se premika sam, vam l...
Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...