Synlig

Sådan oprettes en brugbar beholdning i JSON-format

Sådan oprettes en brugbar beholdning i JSON-format
Som standard bruger en Ansible lagerfil INI-konfigurationsformatet. Du kan også bruge JSON (JavaScript Object Notation) konfigurationsformat til Ansible lagerfiler.

I denne artikel vil jeg vise dig, hvordan du bruger JSON-konfigurationsformatet til at oprette Ansible-lagerfiler. Så lad os komme i gang.

Forudsætninger:

Hvis du vil prøve eksemplerne på denne artikel,

1) Du skal have Ansible installeret på din computer.
2) Du skal have mindst 6 Linux-værter konfigureret til Ansible-automatisering.

Der er mange artikler om LinuxHint dedikeret til installation af Ansible og konfigurering af værter til Ansible-automatisering. Du kan tjekke dem ud, hvis det er nødvendigt.

Oprettelse af en projektmappe:

I denne artikel vil jeg bruge Visual Studio-koden til redigering af Ansible-konfigurationsfilen, lagerfilen og playbooks. Du kan bruge en hvilken som helst editor eller IDE, du ønsker.

Lad os oprette en projektmappe, inden du kommer i gang, så vi kan organisere vores projektfiler.

Jeg har oprettet en ny projektmappe json-opgørelse / i min HJEM katalog som du kan se på skærmbilledet nedenfor.

Når du har oprettet et nyt projektkatalog, skal du åbne det med din yndlings teksteditor eller IDE.

Gå til Visual Studio Code Fil > Åbn mappe… som markeret i skærmbilledet nedenfor.

Vælg nu projektmappen json-opgørelse / og klik på Okay.

Projektmappen skal åbnes med Visual Studio Code.

Klik nu på Ny fil  og opret en ny fil ansible.cfg.

Indtast derefter de følgende linjer i ansible.cfg fil.

[standard]
beholdning = værter.json
host_key_checking = Falsk

Når du er færdig, skal du trykke på + S for at redde ansible.cfg fil.

På samme måde skal du oprette en værter.json fil. Dette er JSON-lagerfilen. Lad det stå tomt for nu. Vi vil arbejde på det senere.

Klik nu på Ny mappe  og opret en ny mappe playbooks som vist på skærmbilledet nedenfor.

Tilføjelse af værter til JSON-lagerfilen:

I dette afsnit vil jeg vise dig, hvordan du tilføjer værter til din lagerfil i JSON-format.

I værter.json lagerfil, skal du tilføje en alle afsnit.


"alle":

I alle sektion, tilføjer du en vært sektion og tilføj dine værter.


"alle":
"værter":
"vært1": null,
"vært2": null


For eksempel kan du tilføje værterne vm1.nodekite.com og vm2.nodekite.com i værter.json opgørelsesfil som følger.


"alle":
"værter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null


Når du er færdig, skal du trykke på + S for at redde værter.json fil.

Du kan kontrollere, hvilke værter der er tilgængelige i din beholdningsfil med følgende kommando:

$ ansible - liste-værter alle

Som du kan se, er de værter, jeg har tilføjet i min beholdningsfil (vm1.nodekite.com og vm2.nodekite.com) er angivet.

Gruppering af værter i JSON-lagerfilen:

I dette afsnit vil jeg vise dig, hvordan du grupperer værter i din JSON-lagerfil.

Standardværtsgruppen i Ansible er alle. Det alle gruppen har alle værter fra hver gruppe (inklusive værter fra alle gruppe).

Du tilføjer værtsgrupper i børn sektion i din JSON-lagerfil.


"alle":
..
"børn":
"gruppe1":
,
"gruppe2":



For eksempel at tilføje værterne vm3.nodekite.com og vm4.nodekite.com i web gruppe og tilføje værterne vm5.nodekite.com og vm6.nodekite.com i db gruppe, skal du indtaste følgende linjer i din JSON-lagerfil.


"alle":
"værter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"børn":
"web":
"værter":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null

,
"db":
"værter":
"vm5.nodekite.com ": null,
"vm6.nodekite.com ": null




Når du er færdig, skal du trykke på + S for at redde værter.json fil.

Her tilføjer de markerede linjer værterne vm3.nodekite.com og vm4.nodekite.com i web gruppe.

De markerede linjer tilføjer værterne vm5.nodekite.com og vm6.nodekite.com i db gruppe.

Nu kan du liste alle tilgængelige værter i din JSON-lagerfil med følgende kommando:

$ ansible - liste-værter alle

Som du kan se, er alle værter fra hver gruppe (web, db, og alle) vises.

For at liste de tilgængelige værter fra web gruppe kun, kør følgende kommando:

$ ansible - liste-værter web

Som du kan se, er alle værter i web gruppe vises.

På samme måde kan du liste alle tilgængelige værter fra db gruppe med følgende kommando:

$ ansible --list-hosts db

Som du kan se, er alle værter i db gruppe vises.

Tilføjelse af globale fakta i JSON-lagerfilen:

I Ansible kaldes variabler også fakta. Globale fakta eller globale variabler er tilgængelige fra alle værter i hver gruppe i din JSON-lagerfil. I dette afsnit vil jeg vise dig, hvordan du tilføjer globale fakta eller globale variabler i synlig.

Du kan tilføje globale fakta eller globale variabler i vars sektion indeni alle sektion af din JSON-lagerfil som følger:


"alle":
"værter":
..
,
"vars":
"variable1": "værdi1",
"variable2": "værdi2"
,
"børn":
"web":
..
,
"db":
..



For eksempel kan du tilføje de globale fakta / variabler webroot og indeks i vars sektion af din JSON-lagerfil som følger:


"alle":
"værter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"børn":
"web":
"værter":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null

,
"db":
"værter":
"vm5.nodekite.com ": null,
"vm6.nodekite.com ": null




Når du er færdig, skal du trykke på + S for at gemme JSON-lagerfilen.

For at kontrollere, om de globale fakta / variabler fungerer, skal jeg oprette en ny playbook print_vars1.yaml. Formålet med denne playbook er at udskrive fakta / variabler ved hjælp af fejlfinde modul af Ansible. Det vil også hjælpe os med at forstå fakta / variabel forrang senere.

Så lav en ny playbook print_vars1.yaml i din legebøger / bibliotek og skriv følgende linjer i din print_vars1.yaml fil.

- værter: alle
bruger: ansible
opgaver:
- navn: Udskriv webroot og indeks
fejlfinde:
msg: 'WebRoot webroot og indeks index'

Når du er færdig, skal du trykke på + S for at redde print_vars1.yaml fil.

For at kontrollere, om de globale fakta / variabler fungerer, skal du køre print_vars1.yaml playbook som følger:

$ ansible-playbook playbooks / print_vars1.yaml

Playbook'en skal køre med succes.

Rul tilbage til OPGAVE afsnit. Som du kan se, er webroot og indeks fakta / variabler anvendes på hver vært i min JSON-lagerfil. Så globale fakta / variabler fungerer.

Tilføjelse af gruppefakta i JSON-lagerfilen:

Du kan også tilføje fakta / variabler for en bestemt værtsgruppe. I dette afsnit vil jeg vise dig, hvordan du tilføjer gruppefakta / variabler i din JSON-lagerfil.

Jeg vil tilføje det samme webroot og indeks fakta i web værtsgruppe i min JSON-lagerfil. Værdien af ​​disse fakta vil være forskellig. Jeg har gjort det, så du også kan forstå, hvordan fakta / variabel forrang fungerer i Ansible.

For at tilføje fakta webroot og indeks i web værtsgruppe, tilføj en vars sektion i web sektion af din JSON-lagerfil som følger:


"alle":
"værter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"børn":
"web":
"værter":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null
,
"vars":
"webroot": "/ web / public_html",
"index": "index.html "

,
"db":
"værter":
"vm5.nodekite.com ": null,
"vm6.nodekite.com ": null




Når du er færdig, skal du trykke på + S for at gemme JSON-lagerfilen.

For at kontrollere fakta skal du køre print_vars1.yaml playbook som følger:

$ ansible-playbook playbooks / print_vars1.yaml

Som du kan se, er gruppens fakta webroot og indeks er kun tilgængelige for værterne vm3.nodekite.com og vm4.nodekite.com, værterne i web gruppe.

Bemærk også, at gruppens fakta (webroot og indeks) erstattet de globale fakta (webroot og indeks). Så du kan sige, at gruppefakta har højere forrang end de globale fakta.

Tilføjelse af værtsfakta i JSON-lagerfilen:

Du kan også tilføje værtsspecifikke fakta / variabler i din JSON-lagerfil. I dette afsnit vil jeg vise dig, hvordan du tilføjer værtsspecifikke fakta / variabler i din JSON-lagerfil.

For globale fakta eller gruppefakta har vi bevaret værdien af ​​værterne nul.

For at tilføje værtsfakta skal du erstatte nul med dine værtsfaktaer i JSON-opgørelsesfilen som følger:

"værter":
"vært1":
"var1": "værdi1",
"var2": "værdi2",
,
"vært2":
"var2": "værdi3",
"var3": "værdi4",

For eksempel at tilføje indeks vært faktum til vm5.nodekite.com vært, udskift nul med værtsfakta som følger.


"alle":
"værter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"børn":
"web":
"værter":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null
,
"vars":
"webroot": "/ web / public_html",
"index": "index.html "

,
"db":
"værter":
"vm5.nodekite.com ":
"index": "index.py "
,
"vm6.nodekite.com ": null




Når du er færdig, skal du trykke på + S for at gemme JSON-lagerfilen.

For at kontrollere de tilgængelige fakta skal du køre print_vars1.yaml playbook som følger:

$ ansible-playbook playbooks / print_vars1.yaml

Som du kan se, er indeks faktum er kun tilgængeligt for vm5.nodekite.com vært.

Bemærk også, at værtsfakta erstattede den globale kendsgerning. Værtsfakta / variabler har den højeste forrang i Ansible. Så værtsfakta / -variabler erstatter gruppens fakta / variabler og globale fakta / variabler.

Konklusion:

I denne artikel har jeg vist dig, hvordan du opbygger en Ansible beholdningsfil i JSON-format. Jeg har vist dig, hvordan du tilføjer værter, tilføjer værtsgrupper, tilføjer globale fakta, tilføjer gruppefakta og tilføjer værtsfakta i din lagerfil i JSON-format.

Mus Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
Føj musbevægelser til Windows 10 ved hjælp af disse gratis værktøjer
I de senere år har computere og operativsystemer udviklet sig meget. Der var et tidspunkt, hvor brugerne skulle bruge kommandoer til at navigere genne...
Mus Styr og administrer musebevægelse mellem flere skærme i Windows 10
Styr og administrer musebevægelse mellem flere skærme i Windows 10
Dual Display Mouse Manager lader dig kontrollere og konfigurere musebevægelse mellem flere skærme ved at bremse dens bevægelser nær grænsen. Windows 1...
Mus WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
Hvis du vil forbedre standardfunktionerne for din musemarkør, skal du bruge freeware WinMouse. Det tilføjer flere funktioner, der hjælper dig med at f...