Selles artiklis näitan teile, kuidas kasutada JSON-i konfiguratsioonivormingut Ansible inventuuri failide loomiseks. Alustame siis.
Eeldused:
Kui soovite proovida selle artikli näiteid,
1) Teie arvutisse peab olema installitud Ansible.
2) Teil peab olema Ansible automatiseerimise jaoks konfigureeritud vähemalt 6 Linuxi hosti.
LinuxHintis on palju artikleid, mis on pühendatud Ansible'i installimisele ja hostide konfigureerimisele Ansible'i automatiseerimiseks. Vajadusel võite neid vaadata.
Projektikataloogi loomine:
Selles artiklis kasutan Visual Studio koodi Ansible konfiguratsioonifaili, inventari faili ja esitusraamatute redigeerimiseks. Võite kasutada mis tahes redaktorit või IDE-d, mida soovite.
Enne alustamist loome projekti kataloog, et saaksime oma projektifaile korrastada.
Olen loonud uue projektikataloogi json-inventar / Minu KODU kataloogi, nagu näete alloleval ekraanipildil.
Kui olete uue projekti kataloogi loonud, avage see oma lemmiktekstiredaktori või IDE-ga.
Visual Studio koodis minge aadressile Fail > Ava kaust… nagu on märgitud alloleval ekraanipildil.
Nüüd valige projekti kataloog json-inventar / ja klõpsake nuppu Okei.
Projekti kataloog tuleks avada Visual Studio koodiga.
Nüüd klõpsake nuppu Uus fail ja looge uus fail võimalik.vrd.
Seejärel tippige väljale järgmised read võimalik.vrd faili.
[vaikimisi]inventar = hostid.json
host_key_checking = Vale
Kui olete valmis, vajutage
Samamoodi looge a võõrustajad.json faili. See on JSON-i varude fail. Jätke see praegu tühjaks. Töötame selle kallal hiljem.
Nüüd klõpsake nuppu Uus kaust ja looge uus kataloog mänguraamatud nagu on näidatud alloleval ekraanipildil.
Hostide lisamine JSON-i varude faili:
Selles jaotises näitan teile, kuidas lisada oma varude faili hoste JSON-vormingus.
Aastal võõrustajad.json inventari faili, lisate kõik jaotises.
"kõik":
Sisse kõik jaotises lisate a peremees jaotisse ja lisage oma hostid.
"kõik":
"hosts":
"host1": null,
"host2": null
Näiteks saate lisada hostid vm1.nodekite.com ja vm2.nodekite.com aastal võõrustajad.json varude toimik järgmiselt.
"kõik":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
Kui olete valmis, vajutage
Varude failis saadaolevad hostid saate kontrollida järgmise käsuga:
$ ansible - list-hosts kõik
Nagu näete, on hostid, mille olen lisanud oma varude faili (vm1.nodekite.com ja vm2.nodekite.com) on loetletud.
Hostide rühmitamine JSON-i varude failis:
Selles jaotises näitan teile, kuidas rühmitada hostid oma JSON-i varude failis.
Vaikimisi hostirühm jaotises Ansible on kõik. The kõik grupis on kõik hostid kõikidest gruppidest (kaasa arvatud kõik Grupp).
Lisate hostirühmad kausta lapsed teie JSON-i varude faili jaotis.
"kõik":
…
"lapsed":
"group1":
,
"rühm2":
Näiteks hostide lisamiseks vm3.nodekite.com ja vm4.nodekite.com aastal võrk rühma ja hostide lisamiseks vm5.nodekite.com ja vm6.nodekite.com aastal db rühma tippige oma JSON-i varude faili järgmised read.
"kõik":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"lapsed":
"võrk":
"hosts":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null
,
"db":
"hosts":
"vm5.nodekite.com ": null,
"vm6.nodekite.com ": null
Kui olete valmis, vajutage
Siin lisavad märgitud read hostid vm3.nodekite.com ja vm4.nodekite.com aastal võrk Grupp.
Märgitud read lisavad hostid vm5.nodekite.com ja vm6.nodekite.com aastal db Grupp.
Nüüd saate JSON-i varude failis loetleda kõik saadaolevad hostid järgmise käsuga:
$ ansible - list-hosts kõik
Nagu näete, on kõigi rühmade kõik hostid (võrk, db, ja kõik) kuvatakse.
Saadaolevate hostide loetlemiseks võrk ainult rühmas, käivitage järgmine käsk:
$ ansible --list-hosts veeb
Nagu näete, on kõik võrk grupp kuvatakse.
Samamoodi saate loetleda kõik saadaolevad hostid saidilt db grupp järgmise käsuga:
$ ansible --list-hosts db
Nagu näete, on kõik db grupp kuvatakse.
Üldiste faktide lisamine JSON-i varude faili:
Väljaandes Ansible nimetatakse muutujaid ka faktideks. Üldised faktid või globaalsed muutujad on teie JSON-i inventuuri failis kättesaadavad iga rühma igast hosti. Selles jaotises näitan teile, kuidas globaalseid fakte või globaalseid muutujaid anniividesse lisada.
Rakendusse saate lisada globaalseid fakte või globaalseid muutujaid vars sektsioon sees kõik jaotis teie JSON-i varude failis järgmiselt:
"kõik":
"hosts":
…
,
"vars":
"muutuja1": "väärtus1",
"muutuja2": "väärtus2"
,
"lapsed":
"võrk":
…
,
"db":
…
Näiteks võite lisada üldised faktid / muutujad veebijuur ja indeks aastal vars jaotis teie JSON-i varude failis järgmiselt:
"kõik":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"veebijuur": "/ var / www / html",
"register": "register.php "
,
"lapsed":
"võrk":
"hosts":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null
,
"db":
"hosts":
"vm5.nodekite.com ": null,
"vm6.nodekite.com ": null
Kui olete valmis, vajutage
Et kontrollida, kas globaalsed faktid / muutujad toimivad, kavatsen luua uue mänguraamatu print_vars1.yaml. Selle raamatu eesmärk on printida faktid / muutujad, kasutades silumine mooduli Ansible. See aitab meil ka hiljem faktide / muutuvate eelistuste mõistmist.
Nii et looge uus mänguraamat print_vars1.yaml oma mänguraamatud / kataloog ja tippige oma rida järgmistele ridadele print_vars1.yaml faili.
- võõrustajad: kõikkasutaja: ansible
ülesanded:
- nimi: veebijuure ja registri printimine
silumine:
msg: 'WebRoot webroot ja register index
Kui olete valmis, vajutage
Kui soovite kontrollida, kas üldised faktid / muutujad toimivad, käivitage print_vars1.yaml järgmine raamat:
$ ansible-playbooki mänguraamatud / print_vars1.yaml
Mänguraamat peaks edukalt töötama.
Kerige tagasi ÜLESANNE jaotises. Nagu näete, veebijuur ja indeks fakte / muutujaid rakendatakse minu JSON-i varude failis igale hostile. Seega toimivad globaalsed faktid / muutujad.
Grupifaktide lisamine JSON-i varude faili:
Fakte / muutujaid saate lisada ka konkreetse hostgrupi jaoks. Selles jaotises näitan teile, kuidas lisada grupifaktid / muutujad oma JSON-i varude faili.
Lisan sama veebijuur ja indeks faktid võrk minu JSON-i inventuuri faili hostgrupp. Nende faktide väärtus on erinev. Olen seda teinud selleks, et saaksite ka aru saada, kuidas faktid / muutuv prioriteet jaotises Ansible toimib.
Faktide lisamiseks veebijuur ja indeks aastal võrk hostgrupp, lisage a vars jaotises võrk jaotis teie JSON-i varude failis järgmiselt:
"kõik":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"veebijuur": "/ var / www / html",
"register": "register.php "
,
"lapsed":
"võrk":
"hosts":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null
,
"vars":
"veebijuur": "/ veeb / avalik_html",
"register": "register.html "
,
"db":
"hosts":
"vm5.nodekite.com ": null,
"vm6.nodekite.com ": null
Kui olete valmis, vajutage
Faktide kontrollimiseks käivitage print_vars1.yaml järgmine raamat:
$ ansible-playbooki mänguraamatud / print_vars1.yaml
Nagu näete, grupi faktid veebijuur ja indeks on saadaval ainult hostidele vm3.nodekite.com ja vm4.nodekite.com, võõrustajad võrk Grupp.
Pange tähele ka seda, et grupi faktid (veebijuur ja indeks) asendas ülemaailmsed faktid (veebijuur ja indeks). Seega võite öelda, et grupifaktidel on suurem tähtsus kui globaalsetel faktidel.
Hostfaktide lisamine JSON-i varude faili:
Samuti saate oma JSON-i varude faili lisada hostipõhised faktid / muutujad. Selles jaotises näitan teile, kuidas lisada oma JSON-i varude faili hostispetsiifilisi fakte / muutujaid.
Üldiste või grupifaktide jaoks oleme säilitanud hostide väärtuse null.
Hostfaktide lisamiseks asendage null koos JSON-i varude failis olevate hostifaktidega järgmiselt:
"hosts":"host1":
"var1": "väärtus1",
"var2": "väärtus2",
,
"host2":
"var2": "väärtus3",
"var3": "väärtus4",
Näiteks, et lisada indeks võõrustaja fakt vm5.nodekite.com peremees, asenda null hostfaktidega järgmiselt.
"kõik":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"veebijuur": "/ var / www / html",
"register": "register.php "
,
"lapsed":
"võrk":
"hosts":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null
,
"vars":
"veebijuur": "/ veeb / avalik_html",
"register": "register.html "
,
"db":
"hosts":
"vm5.nodekite.com ":
"register": "register.py "
,
"vm6.nodekite.com ": null
Kui olete valmis, vajutage
Saadaolevate faktide kontrollimiseks käivitage print_vars1.yaml järgmine raamat:
$ ansible-playbooki mänguraamatud / print_vars1.yaml
Nagu näete, indeks fakt on saadaval ainult vm5.nodekite.com peremees.
Pange tähele ka seda, et võõrustajafakt asendas ülemaailmse fakti. Host-faktidel / muutujatel on Ansible'is kõige suurem tähtsus. Niisiis, hostfaktid / muutujad asendavad rühma faktid / muutujad ja globaalsed faktid / muutujad.
Järeldus:
Selles artiklis olen teile näidanud, kuidas koostada JSON-vormingus Ansible inventari faili. Olen teile näidanud, kuidas lisada masinaid, lisada hostirühmi, lisada globaalseid fakte, lisada grupifakte ja lisada hostifakte oma varude failis JSON-vormingus.