Odgovorno

Kako sestaviti odgovorni popis v obliki zapisa JSON

Kako sestaviti odgovorni popis v obliki zapisa JSON
Datoteka inventarja Ansible privzeto uporablja format konfiguracije INI. Konfiguracijski format JSON (JavaScript Object Notation) lahko uporabite tudi za datoteke inventarja Ansible.

V tem članku vam bom pokazal, kako uporabiti konfiguracijski format JSON za izdelavo datotek inventarja 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.

Ustvarjanje imenika projektov:

V tem članku bom Visual Studio Code uporabil za urejanje konfiguracijske datoteke Ansible, datoteke inventarja in knjig predvajanja. Uporabite lahko kateri koli urejevalnik ali IDE, ki ga želite.

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

Ustvaril sem nov imenik projektov json-inventura / v mojem DOMOV imenik, kot lahko vidite na spodnjem posnetku zaslona.

Ko ustvarite nov imenik projekta, ga odprite s svojim najljubšim urejevalnikom besedil ali IDE.

V Visual Studio Code pojdite na mapa > Odpri mapo… kot je označeno na spodnjem posnetku zaslona.

Zdaj izberite imenik projekta json-inventura / in kliknite na v redu.

Imenik projekta je treba odpreti s kodo Visual Studio.

Zdaj kliknite Nova datoteka  in ustvarite novo datoteko ansible.prim.

Nato v vrstico vnesite naslednje vrstice ansible.prim mapa.

[privzeto]
inventar = gostitelji.json
host_key_checking = False

Ko končate, pritisnite + S shraniti ansible.prim mapa.

Na enak način ustvarite a gostitelji.json mapa. To je datoteka z inventarjem JSON. Za zdaj pustite prazno. Kasneje bomo delali na tem.

Zdaj kliknite Nova mapa  in ustvarite nov imenik igralne knjige kot je prikazano na spodnjem posnetku zaslona.

Dodajanje gostiteljev v datoteko inventarja JSON:

V tem razdelku vam bom pokazal, kako v svojo datoteko inventarja dodate gostitelje v obliki JSON.

V gostitelji.json datoteko inventarja, dodate vse odsek.


"vse":

V vse razdelku, dodate a gostitelj in dodajte svoje gostitelje.


"vse":
"gostitelji":
"gostitelj1": nič,
"gostitelj2": nič


Na primer, lahko dodate gostitelje vm1.nodekite.com in vm2.nodekite.com v gostitelji.json spisek, kot sledi.


"vse":
"gostitelji":
"vm1.nodekite.com ": nič,
"vm2.nodekite.com ": nič


Ko končate, pritisnite + S shraniti gostitelji.json mapa.

Kateri gostitelji so na voljo v vaši inventarni datoteki, lahko preverite z naslednjim ukazom:

$ ansible --list-gosti vse

Kot lahko vidite, gostitelji, ki sem jih dodal v svojo inventarno datoteko (vm1.nodekite.com in vm2.nodekite.com).

Združevanje gostiteljev v datoteko inventarja JSON:

V tem razdelku vam bom pokazal, kako združiti gostitelje v datoteko inventarja JSON.

Privzeta gostiteljska skupina v Ansible je vse. The vse skupina ima vse gostitelje iz vsake skupine (vključno z gostitelji iz vse skupina).

Skupine gostiteljev dodate v otroci odsek datoteke z inventarjem JSON.


"vse":
..
"otroci":
"group1":
,
"group2":



Na primer, da dodate gostitelje vm3.nodekite.com in vm4.nodekite.com v splet in dodajte gostitelje vm5.nodekite.com in vm6.nodekite.com v db skupini vnesite naslednje vrstice v svojo inventarno datoteko JSON.


"vse":
"gostitelji":
"vm1.nodekite.com ": nič,
"vm2.nodekite.com ": nič
,
"otroci":
"splet":
"gostitelji":
"vm3.nodekite.com ": nič,
"vm4.nodekite.com ": nič

,
"db":
"gostitelji":
"vm5.nodekite.com ": nič,
"vm6.nodekite.com ": nič




Ko končate, pritisnite + S shraniti gostitelji.json mapa.

Tu označene vrstice dodajo gostitelje vm3.nodekite.com in vm4.nodekite.com v splet skupini.

Označene vrstice dodajo gostitelje vm5.nodekite.com in vm6.nodekite.com v db skupini.

Zdaj lahko v svoji inventarni datoteki JSON navedete vse razpoložljive gostitelje z naslednjim ukazom:

$ ansible --list-gosti vse

Kot lahko vidite, so vsi gostitelji iz vsake skupine (splet, db, in vse).

Za seznam razpoložljivih gostiteljev iz splet samo skupina, zaženite naslednji ukaz:

$ ansible --list-hosts web

Kot lahko vidite, so vsi gostitelji v splet skupino.

Na enak način lahko iz programa db skupina z naslednjim ukazom:

$ ansible --list-hosts db

Kot lahko vidite, so vsi gostitelji v db skupino.

Dodajanje globalnih dejstev v datoteko inventarja JSON:

V Ansible spremenljivke imenujemo tudi dejstva. Globalna dejstva ali globalne spremenljivke so dostopne vsem gostiteljem vseh skupin v vaši inventarni datoteki JSON. V tem poglavju vam bom pokazal, kako v ansible dodati globalna dejstva ali globalne spremenljivke.

Globalne dejstva ali globalne spremenljivke lahko dodate v vari odsek znotraj vse odsek datoteke z inventarjem JSON, kot sledi:


"vse":
"gostitelji":
..
,
"vars":
"variable1": "value1",
"variable2": "value2"
,
"otroci":
"splet":
..
,
"db":
..



Na primer, lahko dodate globalna dejstva / spremenljivke spletna korenina in indeks v vari odsek datoteke z inventarjem JSON, kot sledi:


"vse":
"gostitelji":
"vm1.nodekite.com ": nič,
"vm2.nodekite.com ": nič
,
"vars":
"webroot": "/ var / www / html",
"index": "indeks.php "
,
"otroci":
"splet":
"gostitelji":
"vm3.nodekite.com ": nič,
"vm4.nodekite.com ": nič

,
"db":
"gostitelji":
"vm5.nodekite.com ": nič,
"vm6.nodekite.com ": nič




Ko končate, pritisnite + S shranite datoteko inventarja JSON.

Da bi preveril, ali globalna dejstva / spremenljivke delujejo, bom ustvaril novo knjigo iger print_vars1.yaml. Namen te knjige je tiskati dejstva / spremenljivke s pomočjo odpravljanje napak modul Ansible. Kasneje nam bo pomagal razumeti prednost dejstev / spremenljivk.

Torej, ustvarite novo knjigo iger print_vars1.yaml v vašem igralne knjige / in vnesite naslednje vrstice v print_vars1.yaml mapa.

- gostitelji: vsi
uporabnik: ansible
naloge:
- ime: Natisni spletno korenino in indeks
odpravljanje napak:
msg: 'WebRoot webroot in kazalo index'

Ko končate, pritisnite + S shraniti print_vars1.yaml mapa.

Če želite preveriti, ali globalna dejstva / spremenljivke delujejo, zaženite print_vars1.yaml playbook, kot sledi:

$ ansible-playbook playbooks / print_vars1.yaml

Knjiga iger bi se morala uspešno izvajati.

Pomaknite se nazaj do NALOGA odsek. Kot lahko vidite, spletna korenina in indeks dejstva / spremenljivke se uporabljajo za vsakega gostitelja v moji inventarni datoteki JSON. Torej, globalna dejstva / spremenljivke delujejo.

Dodajanje skupinskih dejstev v datoteko inventarja JSON:

Dodate lahko tudi dejstva / spremenljivke za določeno gostiteljsko skupino. V tem razdelku vam bom pokazal, kako v zbirko datotek JSON dodate dejstva / spremenljivke skupine.

Dodal bom isto spletna korenina in indeks dejstva v splet gostiteljska skupina moje inventarne datoteke JSON. Vrednost teh dejstev bo drugačna. To sem naredil zato, da lahko tudi vi razumete, kako v Ansibleju delujejo dejstva / prednostna spremenljivka.

Da dodam dejstva spletna korenina in indeks v splet gostiteljsko skupino, dodajte vari v razdelku splet odsek datoteke z inventarjem JSON, kot sledi:


"vse":
"gostitelji":
"vm1.nodekite.com ": nič,
"vm2.nodekite.com ": nič
,
"vars":
"webroot": "/ var / www / html",
"index": "indeks.php "
,
"otroci":
"splet":
"gostitelji":
"vm3.nodekite.com ": nič,
"vm4.nodekite.com ": nič
,
"vars":
"webroot": "/ web / public_html",
"index": "indeks.html "

,
"db":
"gostitelji":
"vm5.nodekite.com ": nič,
"vm6.nodekite.com ": nič




Ko končate, pritisnite + S shranite datoteko inventarja JSON.

Če želite preveriti dejstva, zaženite print_vars1.yaml playbook, kot sledi:

$ ansible-playbook playbooks / print_vars1.yaml

Kot lahko vidite, skupina dejstev spletna korenina in indeks so na voljo samo gostiteljem vm3.nodekite.com in vm4.nodekite.com, gostitelji v splet skupini.

Upoštevajte tudi, da skupina dejstev (spletna korenina in indeks) nadomestila globalna dejstva (spletna korenina in indeks). Torej lahko rečete, da imajo skupinska dejstva večjo prednost kot globalna dejstva.

Dodajanje dejstev o gostitelju v datoteko inventarja JSON:

Dejstva / spremenljivke, specifične za gostitelja, lahko dodate tudi v svojo inventarno datoteko JSON. V tem poglavju vam bom pokazal, kako v datoteko inventarja JSON dodate dejstva / spremenljivke, specifične za gostitelja.

Za globalna ali skupinska dejstva smo ohranili vrednost gostiteljev nič.

Če želite dodati dejstva gostitelja, zamenjajte nič z dejstvi gostitelja v datoteki inventarja JSON, kot sledi:

"gostitelji":
"gostitelj1":
"var1": "vrednost1",
"var2": "vrednost2",
,
"gostitelj2":
"var2": "vrednost3",
"var3": "vrednost4",

Na primer, da dodate indeks gostiteljsko dejstvo vm5.nodekite.com gostitelj, zamenjaj nič z gostiteljskimi dejstvi, kot sledi.


"vse":
"gostitelji":
"vm1.nodekite.com ": nič,
"vm2.nodekite.com ": nič
,
"vars":
"webroot": "/ var / www / html",
"index": "indeks.php "
,
"otroci":
"splet":
"gostitelji":
"vm3.nodekite.com ": nič,
"vm4.nodekite.com ": nič
,
"vars":
"webroot": "/ web / public_html",
"index": "indeks.html "

,
"db":
"gostitelji":
"vm5.nodekite.com ":
"index": "indeks.pi "
,
"vm6.nodekite.com ": nič




Ko končate, pritisnite + S shranite datoteko inventarja JSON.

Če želite preveriti razpoložljiva dejstva, zaženite print_vars1.yaml playbook, kot sledi:

$ ansible-playbook playbooks / print_vars1.yaml

Kot lahko vidite, indeks dejstvo je na voljo samo za vm5.nodekite.com gostitelj.

Upoštevajte tudi, da je gostiteljsko dejstvo nadomestilo globalno. Dejstva / spremenljivke gostitelja imajo v Ansibleju največjo prednost. Torej bodo gostiteljska dejstva / spremenljivke nadomestila skupinska dejstva / spremenljivke in globalna dejstva / spremenljivke.

Zaključek:

V tem članku sem vam pokazal, kako zgraditi datoteko inventarja Ansible v obliki JSON. Pokazal sem vam, kako dodati gostitelje, dodati gostiteljske skupine, dodati globalna dejstva, dodati skupinska dejstva in dodati dejstva gostitelja v svojo inventarno datoteko v obliki JSON.

Najboljše laboratorijske igre Oculus App
Če ste lastnik slušalk Oculus, morate biti seznanjeni s stranskim nalaganjem. Sideloading je postopek namestitve vsebine, ki ni shranjena v slušalke. ...
10 najboljših iger za igranje v Ubuntuju
Platforma Windows je bila ena izmed prevladujočih platform za igre na srečo zaradi velikega odstotka iger, ki se danes razvijajo za naravno podporo si...
5 najboljših arkadnih iger za Linux
Dandanes so računalniki resni stroji, ki se uporabljajo za igre na srečo. Če ne boste mogli dobiti novega visokega rezultata, boste vedeli, kaj mislim...