Možné

Jak sestavit možný inventář ve formátu JSON

Jak sestavit možný inventář ve formátu JSON
Ve výchozím nastavení používá soubor inventáře Ansible konfigurační formát INI. Můžete také použít konfigurační formát JSON (JavaScript Object Notation) pro soubory inventáře Ansible.

V tomto článku vám ukážu, jak použít konfigurační formát JSON k vytvoření souborů inventáře Ansible. Pojďme tedy začít.

Předpoklady:

Chcete-li vyzkoušet příklady tohoto článku,

1) Musíte mít ve svém počítači nainstalovanou aplikaci Ansible.
2) Musíte mít alespoň 6 hostitelů Linuxu nakonfigurovaných pro automatizaci Ansible.

Existuje mnoho článků o LinuxHint věnovaných instalaci Ansible a konfiguraci hostitelů pro automatizaci Ansible. V případě potřeby je můžete zkontrolovat.

Vytvoření adresáře projektu:

V tomto článku použiji Visual Studio Code pro úpravy konfiguračního souboru Ansible, inventárního souboru a příruček. Můžete použít libovolný editor nebo IDE, které chcete.

Než začnete, vytvořme adresář projektu, abychom mohli uspořádat soubory projektu.

Vytvořil jsem nový adresář projektu json-inventarizace / v mém DOMOV adresář, jak vidíte na snímku obrazovky níže.

Jakmile vytvoříte nový adresář projektu, otevřete jej ve svém oblíbeném textovém editoru nebo IDE.

V kódu Visual Studio přejděte na Soubor > Otevřená složka… jak je uvedeno na snímku obrazovky níže.

Nyní vyberte adresář projektu json-inventarizace / a klikněte na OK.

Adresář projektu by měl být otevřen pomocí Visual Studio Code.

Nyní klikněte na Nový soubor  a vytvořte nový soubor zodpovědný.srov.

Poté zadejte následující řádky do pole zodpovědný.srov soubor.

[výchozí]
inventář = hostitelé.JSON
host_key_checking = False

Až budete hotovi, stiskněte + S uložit zodpovědný.srov soubor.

Stejným způsobem vytvořte a hostitelé.JSON soubor. Toto je soubor inventáře JSON. Nechte to zatím prázdné. Budeme na tom pracovat později.

Nyní klikněte na Nová složka  a vytvořte nový adresář knihy o hře jak je znázorněno na následujícím obrázku.

Přidání hostitelů do souboru JSON Inventory:

V této části vám ukážu, jak přidat hostitele do souboru inventáře ve formátu JSON.

V hostitelé.JSON soubor inventáře, přidáte Všechno sekce.


"Všechno":

v Všechno sekci přidáte a hostitel a přidejte své hostitele.


"Všechno":
"hosts":
"host1": null,
"host2": null


Můžete například přidat hostitele vm1.nodekite.com a vm2.nodekite.com v hostitelé.JSON soubor inventáře následujícím způsobem.


"Všechno":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null


Až budete hotovi, stiskněte + S uložit hostitelé.JSON soubor.

Pomocí následujícího příkazu můžete zkontrolovat, kteří hostitelé jsou k dispozici ve vašem souboru inventáře:

$ ansible --list-hosts all

Jak vidíte, hostitelé, které jsem přidal do svého inventárního souboru (vm1.nodekite.com a vm2.nodekite.com) jsou uvedeny.

Seskupení hostitelů v souboru inventáře JSON:

V této části vám ukážu, jak seskupit hostitele ve vašem souboru inventáře JSON.

Výchozí skupina hostitelů v Ansible je Všechno. The Všechno skupina má všechny hostitele z každé skupiny (včetně hostitelů z Všechno skupina).

Skupiny hostitelů přidáte do složky děti část vašeho inventárního souboru JSON.


"Všechno":

"children":
"group1":
,
"group2":



Například přidat hostitele vm3.nodekite.com a vm4.nodekite.com v web skupiny a přidat hostitele vm5.nodekite.com a vm6.nodekite.com v db skupina, zadejte následující řádky do souboru inventáře JSON.


"Všechno":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"children":
"web":
"hosts":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null

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




Až budete hotovi, stiskněte + S uložit hostitelé.JSON soubor.

Zde označené řádky přidají hostitele vm3.nodekite.com a vm4.nodekite.com v web skupina.

Označené řádky přidají hostitele vm5.nodekite.com a vm6.nodekite.com v db skupina.

Nyní můžete zobrazit všechny dostupné hostitele ve vašem souboru inventáře JSON pomocí následujícího příkazu:

$ ansible --list-hosts all

Jak vidíte, všichni hostitelé z každé skupiny (web, db, a Všechno) se zobrazí.

Seznam dostupných hostitelů z web pouze pro skupinu, spusťte následující příkaz:

$ ansible --list-hosts web

Jak vidíte, všichni hostitelé v web skupiny.

Stejným způsobem můžete zobrazit všechny dostupné hostitele z db skupina s následujícím příkazem:

$ ansible --list-hosts db

Jak vidíte, všichni hostitelé v db skupiny.

Přidání globálních faktů do souboru JSON Inventory:

V Ansible se proměnné nazývají také fakta. Globální fakta nebo globální proměnné jsou přístupné z každého hostitele každé skupiny ve vašem souboru inventáře JSON. V této části vám ukážu, jak přidat globální fakta nebo globální proměnné v ansible.

Do souboru můžete přidat globální fakta nebo globální proměnné vars část uvnitř Všechno části souboru JSON zásob takto:


"Všechno":
"hosts":

,
"vars":
"variable1": "value1",
"variable2": "value2"
,
"children":
"web":

,
"db":




Můžete například přidat globální fakta / proměnné webový kořen a index v vars části souboru JSON zásob takto:


"Všechno":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"children":
"web":
"hosts":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null

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




Až budete hotovi, stiskněte + S uložit soubor inventáře JSON.

Abych zkontroloval, zda globální fakta / proměnné fungují, vytvořím novou příručku print_vars1.yaml. Účelem této příručky je tisknout fakta / proměnné pomocí ladit modul Ansible. Pomůže nám to později pochopit prioritu faktů / proměnných.

Vytvořte tedy novou příručku print_vars1.yaml ve vašem knihy o hře / adresář a zadejte následující řádky ve vašem print_vars1.yaml soubor.

- hostitelé: všichni
uživatel: odpovědný
úkoly:
- name: Tisk webové kořenové složky a rejstříku
ladit:
msg: 'WebRoot webroot and Index index'

Až budete hotovi, stiskněte + S uložit print_vars1.yaml soubor.

Chcete-li zkontrolovat, zda globální fakta / proměnné fungují, spusťte příkaz print_vars1.yaml playbook takto:

$ ansible-playbook playbooks / print_vars1.yaml

Příručka by se měla úspěšně spustit.

Přejděte zpět na ikonu ÚKOL sekce. Jak vidíte, webový kořen a index fakta / proměnné jsou aplikovány na každého hostitele v mém souboru inventáře JSON. Globální fakta / proměnné tedy fungují.

Přidání faktů o skupině do souboru inventáře JSON:

Můžete také přidat fakta / proměnné pro konkrétní skupinu hostitelů. V této části vám ukážu, jak přidat skupinová fakta / proměnné do souboru inventáře JSON.

Přidám totéž webový kořen a index fakta v web hostitelská skupina mého souboru inventáře JSON. Hodnota těchto skutečností se bude lišit. Udělal jsem to proto, abyste pochopili, jak v Ansible fungují fakta / přednosti proměnných.

Chcete-li přidat fakta webový kořen a index v web hostitelská skupina, přidejte vars sekce v web části souboru JSON zásob takto:


"Všechno":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"children":
"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




Až budete hotovi, stiskněte + S uložit soubor inventáře JSON.

Chcete-li zkontrolovat fakta, spusťte print_vars1.yaml playbook takto:

$ ansible-playbook playbooks / print_vars1.yaml

Jak vidíte, fakta o skupině webový kořen a index jsou k dispozici pouze pro hostitele vm3.nodekite.com a vm4.nodekite.com, hostitelé v web skupina.

Všimněte si také, že fakta o skupině (webový kořen a index) nahradil globální fakta (webový kořen a index). Můžete tedy říci, že skupinová fakta mají vyšší prioritu než globální fakta.

Přidání faktů o hostiteli do souboru JSON Inventory:

Fakta / proměnné specifické pro hostitele můžete přidat také do souboru inventáře JSON. V této části vám ukážu, jak přidat fakta / proměnné specifické pro hostitele do souboru inventáře JSON.

U globálních nebo skupinových faktů jsme ponechali hodnotu hostitelů nula.

Chcete-li přidat fakta o hostiteli, nahraďte je nula s fakty hostitele v souboru inventáře JSON následujícím způsobem:

"hosts":
"host1":
"var1": "hodnota1",
"var2": "value2",
,
"host2":
"var2": "value3",
"var3": "value4",

Například přidat index hostitelská skutečnost pro vm5.nodekite.com hostitel, vyměnit nula s hostitelskými fakty následovně.


"Všechno":
"hosts":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"children":
"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




Až budete hotovi, stiskněte + S uložit soubor inventáře JSON.

Chcete-li zkontrolovat dostupná fakta, spusťte print_vars1.yaml playbook takto:

$ ansible-playbook playbooks / print_vars1.yaml

Jak vidíte, index fakt je k dispozici pouze pro vm5.nodekite.com hostitel.

Všimněte si také, že skutečnost hostitele nahradila skutečnost globální. Fakta / proměnné hostitele mají v Ansible nejvyšší prioritu. Takže hostitelská fakta / proměnné nahradí skupinová fakta / proměnné a globální fakta / proměnné.

Závěr:

V tomto článku jsem vám ukázal, jak vytvořit Ansible inventární soubor ve formátu JSON. Ukázal jsem vám, jak přidat hostitele, přidat skupiny hostitelů, přidat globální fakta, přidat fakta o skupině a přidat fakta o hostiteli do souboru inventáře ve formátu JSON.

Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...