Možné

Ako zostaviť možný inventár vo formáte JSON

Ako zostaviť možný inventár vo formáte JSON
V predvolenom nastavení používa súbor inventára Ansible konfiguračný formát INI. Môžete tiež použiť konfiguračný formát JSON (JavaScript Object Notation) pre súbory zásob Ansible.

V tomto článku vám ukážem, ako používať konfiguračný formát JSON na vytvorenie súborov inventára Ansible. Takže poďme na to.

Predpoklady:

Ak si chcete vyskúšať príklady tohto článku,

1) Musíte mať v počítači nainštalovaný program Ansible.
2) Musíte mať aspoň 6 hostiteľov Linuxu nakonfigurovaných na automatizáciu Ansible.

Existuje veľa článkov o LinuxHint venovaných inštalácii Ansible a konfigurácii hostiteľov pre automatizáciu Ansible. V prípade potreby ich môžete skontrolovať.

Vytvorenie adresára projektu:

V tomto článku použijem Visual Studio Code na úpravu konfiguračného súboru Ansible, inventárneho súboru a kníh na čítanie. Môžete použiť ľubovoľný editor alebo IDE, ktoré chcete.

Skôr ako začnete, vytvorme si adresár projektu, aby sme mohli usporiadať súbory projektu.

Vytvoril som nový adresár projektu json-inventar / v mojom DOMOV ako vidíte na snímke obrazovky nižšie.

Po vytvorení nového adresára projektu ho otvorte vo svojom obľúbenom textovom editore alebo IDE.

V Visual Studio Code prejdite na Súbor > Otvorte zložku… ako je vyznačené na snímke obrazovky nižšie.

Teraz vyberte adresár projektu json-inventar / a kliknite na Ok.

Adresár projektu by sa mal otvoriť pomocou Visual Studio Code.

Teraz kliknite na Nový súbor  a vytvorte nový súbor zodpovedné.porov.

Potom zadajte nasledujúce riadky do súboru zodpovedné.porov spis.

[predvolené hodnoty]
inventár = hostitelia.json
host_key_checking = False

Po dokončení stlačte + S zachrániť zodpovedné.porov spis.

Rovnakým spôsobom vytvorte a hostitelia.json spis. Toto je súbor inventára JSON. Zatiaľ to nechajte prázdne. Budeme na tom pracovať neskôr.

Teraz kliknite na Nový priečinok  a vytvorte nový adresár knihy o hre ako je znázornené na snímke obrazovky nižšie.

Pridanie hostiteľov do súboru inventára JSON:

V tejto časti vám ukážem, ako pridať hostiteľov do súboru inventára vo formáte JSON.

V hostitelia.json inventárny súbor, pridáte všetko oddiel.


"all":

V všetko oddiel, pridáte a hostiteľ a pridajte svojich hostiteľov.


"all":
"hosts":
"host1": null,
"host2": null


Môžete napríklad pridať hostiteľov vm1.nodekite.com a vm2.nodekite.com v hostitelia.json inventarizačný súbor nasledovne.


"all":
"hosts":
„vm1.nodekite.com ": null,
„vm2.nodekite.com ": null


Po dokončení stlačte + S zachrániť hostitelia.json spis.

Pomocou nasledujúceho príkazu môžete skontrolovať, ktorí hostitelia sú k dispozícii v súbore inventára:

$ ansible --list-hosts všetko

Ako vidíte, hostitelia, ktorých som pridal do svojho inventárneho súboru (vm1.nodekite.com a vm2.nodekite.com) sú uvedené.

Zoskupenie hostiteľov v súbore zásob JSON:

V tejto časti vám ukážem, ako zoskupiť hostiteľov vo vašom súbore súborov JSON.

Predvolená skupina hostiteľov v priečinku Ansible je všetko. The všetko skupina má všetkých hostiteľov z každej skupiny (vrátane hostiteľov z všetko skupina).

Skupiny hostiteľov pridáte do priečinka deti sekcia vášho inventárneho súboru JSON.


"all":

"deti":
"group1":
,
"group2":



Napríklad na pridanie hostiteľov vm3.nodekite.com a vm4.nodekite.com v web skupiny a pridať hostiteľov vm5.nodekite.com a vm6.nodekite.com v db skupina, zadajte nasledujúce riadky do súboru inventára JSON.


"all":
"hosts":
„vm1.nodekite.com ": null,
„vm2.nodekite.com ": null
,
"deti":
„web“:
"hosts":
„vm3.nodekite.com ": null,
„vm4.nodekite.com ": null

,
"db":
"hosts":
„vm5.nodekite.com ": null,
„vm6.nodekite.com ": null




Po dokončení stlačte + S zachrániť hostitelia.json spis.

Tu označené riadky pridajú hostiteľov vm3.nodekite.com a vm4.nodekite.com v web skupina.

Označené riadky pridávajú hostiteľov vm5.nodekite.com a vm6.nodekite.com v db skupina.

Teraz môžete uviesť všetkých dostupných hostiteľov v súbore inventára JSON pomocou nasledujúceho príkazu:

$ ansible --list-hosts všetko

Ako vidíte, všetci hostitelia z každej skupiny (web, db, a všetko) sa zobrazia.

Zoznam dostupných hostiteľov nájdete na serveri web iba pre skupinu, spustite nasledujúci príkaz:

$ ansible --list-hosts web

Ako vidíte, všetci hostitelia v web skupiny.

Rovnakým spôsobom môžete uviesť všetkých dostupných hostiteľov z priečinka db skupina s nasledujúcim príkazom:

$ ansible --list-hosts db

Ako vidíte, všetci hostitelia v db skupiny.

Pridanie globálnych faktov do súboru inventára JSON:

V Ansible sa premenné nazývajú aj fakty. Globálne fakty alebo globálne premenné sú prístupné z každého hostiteľa každej skupiny vo vašom súbore súborov JSON. V tejto časti vám ukážem, ako pridať globálne fakty alebo globálne premenné do zodpovednosti.

Do súboru môžete pridať globálne fakty alebo globálne premenné vars oddiel vo vnútri všetko časti súboru inventára JSON nasledovne:


"all":
"hosts":

,
"vars":
"variable1": "value1",
"variable2": "value2"
,
"deti":
„web“:

,
"db":




Môžete napríklad pridať globálne fakty / premenné webový koreň a index v vars časti súboru inventára JSON nasledovne:


"all":
"hosts":
„vm1.nodekite.com ": null,
„vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"deti":
„web“:
"hosts":
„vm3.nodekite.com ": null,
„vm4.nodekite.com ": null

,
"db":
"hosts":
„vm5.nodekite.com ": null,
„vm6.nodekite.com ": null




Po dokončení stlačte + S uložiť súbor inventára JSON.

Aby som skontroloval, či fungujú globálne fakty / premenné, vytvorím nový playbook print_vars1.yaml. Účelom tejto príručky je vytlačiť fakty / premenné pomocou ladiť modul Ansible. Pomôže nám to tiež neskôr pochopiť dôležitosť faktov / premenných.

Vytvorte teda nový playbook print_vars1.yaml vo vašom knihy o hre / adresár a zadajte nasledujúce riadky vo vašom print_vars1.yaml spis.

- hostitelia: všetci
užívateľ: zodpovedný
úlohy:
- name: Tlač webrootu a indexu
ladenie:
správa: 'WebRoot webroot a index index'

Po dokončení stlačte + S zachrániť print_vars1.yaml spis.

Ak chcete skontrolovať, či globálne fakty / premenné fungujú, spustite príkaz print_vars1.yaml príručka takto:

$ ansible-playbook playbooks / print_vars1.yaml

Príručka by sa mala úspešne spustiť.

Posuňte sa späť na ikonu ÚLOHA oddiel. Ako vidíte, webový koreň a index fakty / premenné sa používajú na každého hostiteľa v mojom súbore súborov JSON. Globálne fakty / premenné teda fungujú.

Pridanie faktov o skupine do súboru inventára JSON:

Môžete tiež pridať fakty / premenné pre konkrétnu skupinu hostiteľov. V tejto časti vám ukážem, ako pridať skupinové fakty / premenné do súboru inventára JSON.

To isté pridám webový koreň a index fakty v web hostiteľská skupina môjho súboru inventára JSON. Hodnota týchto skutočností bude iná. Urobil som to preto, aby ste tiež pochopili, ako fungujú fakty / premenná prednosť v aplikácii Ansible.

Pre doplnenie faktov webový koreň a index v web hostiteľská skupina, pridajte a vars časť v web časti súboru inventára JSON nasledovne:


"all":
"hosts":
„vm1.nodekite.com ": null,
„vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"deti":
„web“:
"hosts":
„vm3.nodekite.com ": null,
„vm4.nodekite.com ": null
,
"vars":
"webroot": "/ web / public_html",
"index": "index.html "

,
"db":
"hosts":
„vm5.nodekite.com ": null,
„vm6.nodekite.com ": null




Po dokončení stlačte + S uložiť súbor inventára JSON.

Ak chcete skontrolovať fakty, spustite príkaz print_vars1.yaml príručka takto:

$ ansible-playbook playbooks / print_vars1.yaml

Ako vidíte, skupinové fakty webový koreň a index sú k dispozícii iba pre hostiteľov vm3.nodekite.com a vm4.nodekite.com, hostitelia v web skupina.

Upozorňujeme tiež, že skupinové fakty (webový koreň a index) nahradil globálne fakty (webový koreň a index). Môžete teda povedať, že skupinové fakty majú vyššiu prednosť ako globálne fakty.

Pridanie faktov o hostiteľovi do súboru inventára JSON:

Fakty alebo premenné špecifické pre hostiteľa môžete pridať aj do súboru inventára JSON. V tejto časti vám ukážem, ako pridať fakty alebo premenné špecifické pre hostiteľa do súboru inventára JSON.

Pre globálne alebo skupinové fakty sme ponechali hodnotu hostiteľov nulový.

Ak chcete pridať fakty o hostiteľovi, nahraďte ich nulový s údajmi o hostiteľovi v inventárnom súbore JSON nasledovne:

"hosts":
"host1":
"var1": "hodnota1",
"var2": "hodnota2",
,
"host2":
"var2": "hodnota3",
"var3": "hodnota4",

Napríklad pridať index hostiteľská skutočnosť pre vm5.nodekite.com hostiť, vymeniť nulový s faktami hostiteľa nasledujúcim spôsobom.


"all":
"hosts":
„vm1.nodekite.com ": null,
„vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"deti":
„web“:
"hosts":
„vm3.nodekite.com ": null,
„vm4.nodekite.com ": null
,
"vars":
"webroot": "/ web / public_html",
"index": "index.html "

,
"db":
"hosts":
„vm5.nodekite.com ":
"index": "index.py "
,
„vm6.nodekite.com ": null




Po dokončení stlačte + S uložiť súbor inventára JSON.

Dostupné fakty skontrolujete spustením print_vars1.yaml príručka takto:

$ ansible-playbook playbooks / print_vars1.yaml

Ako vidíte, index skutočnosť je k dispozícii iba pre vm5.nodekite.com hostiteľ.

Všimnite si tiež, že skutočnosť hostiteľa nahradila skutočnosť globálnu. Hostiteľské fakty / premenné majú najvyššiu prioritu v položke Ansible. Takže hostiteľské fakty / premenné nahradia skupinové fakty / premenné a globálne fakty / premenné.

Záver:

V tomto článku som vám ukázal, ako vytvoriť inventárny súbor Ansible vo formáte JSON. Ukázal som vám, ako pridať hostiteľov, pridať skupiny hostiteľov, pridať globálne fakty, pridať fakty o skupine a pridať fakty o hostiteľovi do súboru inventára vo formáte JSON.

Ako používať Xdotool na stimuláciu kliknutí a stlačenia myši v systéme Linux
Xdotool je bezplatný a otvorený nástroj príkazového riadku na simuláciu kliknutí a stlačenia klávesov myši. Tento článok sa bude týkať stručného sprie...
Top 5 ergonomických produktov pre počítačové myši pre Linux
Spôsobuje dlhodobé používanie počítača bolesť zápästia alebo prstov? Trpíte stuhnutými kĺbmi a neustále si musíte podávať ruky? Cítite pálivú bolesť z...
Ako zmeniť nastavenie myši a touchpadu pomocou systému Xinput v systéme Linux
Väčšina distribúcií systému Linux sa štandardne dodáva s knižnicou „libinput“ na spracovanie vstupných udalostí v systéme. Dokáže spracovať vstupné ud...