Ansible

Hvordan lage en brukbar beholdning i JSON-format

Hvordan lage en brukbar beholdning i JSON-format
Som standard bruker en Ansible lagerfil INI-konfigurasjonsformatet. Du kan også bruke JSON (JavaScript Object Notation) -konfigurasjonsformat også for Ansible lagerfiler.

I denne artikkelen skal jeg vise deg hvordan du bruker JSON-konfigurasjonsformatet til å bygge Ansible-lagerfilene. Så la oss komme i gang.

Forutsetninger:

Hvis du vil prøve eksemplene på denne artikkelen,

1) Du må ha Ansible installert på datamaskinen din.
2) Du må ha minst 6 Linux-verter konfigurert for Ansible automatisering.

Det er mange artikler om LinuxHint dedikert til å installere Ansible og konfigurere verter for Ansible automatisering. Du kan sjekke dem ut om nødvendig.

Opprette en prosjektkatalog:

I denne artikkelen skal jeg bruke Visual Studio-koden for å redigere Ansible-konfigurasjonsfilen, inventarfilen og spillbøkene. Du kan bruke hvilken som helst redaktør eller IDE du vil ha.

Før du begynner, la oss lage en prosjektkatalog slik at vi kan organisere prosjektfilene våre.

Jeg har opprettet en ny prosjektkatalog json-inventar / i min HJEM katalog som du kan se på skjermbildet nedenfor.

Når du har opprettet en ny prosjektkatalog, åpner du den med din favoritt tekstredigerer eller IDE.

Gå til Visual Studio Code Fil > Åpne mappe .. som markert i skjermbildet nedenfor.

Velg nå prosjektkatalogen json-inventar / og klikk på OK.

Prosjektkatalogen skal åpnes med Visual Studio Code.

Nå klikker du på Ny fil  og opprett en ny fil ansible.cfg.

Skriv deretter inn følgende linjer i ansible.cfg fil.

[standard]
inventar = verter.json
host_key_checking = Usann

Når du er ferdig, trykk + S for å redde ansible.cfg fil.

På samme måte, skape en verter.json fil. Dette er JSON-lagerfilen. La det stå tomt for nå. Vi vil jobbe med det senere.

Nå klikker du på Ny mappe  og opprett en ny katalog lekebøker som vist på skjermbildet nedenfor.

Legge til verter i JSON Inventory File:

I denne delen skal jeg vise deg hvordan du legger til verter i lagerfilen din i JSON-format.

I verter.json lagerfil, legger du til en alle seksjon.


"alle":

I alle delen, legger du til en vert delen og legg til vertene dine.


"alle":
"verter":
"vert1": null,
"host2": null


For eksempel kan du legge til vertene vm1.nodekite.com og vm2.nodekite.com i verter.json inventarfil som følger.


"alle":
"verter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null


Når du er ferdig, trykk + S for å redde verter.json fil.

Du kan sjekke hvilke verter som er tilgjengelige i lagerfilen din med følgende kommando:

$ ansible - liste-verter alle

Som du kan se, er vertene jeg har lagt til i beholdningsfilen min (vm1.nodekite.com og vm2.nodekite.com) er listet.

Gruppere verter i JSON Inventory File:

I denne delen skal jeg vise deg hvordan du grupperer verter i JSON-lagerfilen din.

Standard vertsgruppe i Ansible er alle. De alle gruppen har alle vertene fra hver gruppe (inkludert vertene fra alle gruppe).

Du legger til vertsgrupper i barn delen av JSON-lagerfilen.


"alle":
..
"barn":
"gruppe1":
,
"gruppe2":



For eksempel for å legge til vertene vm3.nodekite.com og vm4.nodekite.com i nett gruppe, og for å legge til vertene vm5.nodekite.com og VM 6.nodekite.com i db gruppe, skriv inn følgende linjer i JSON-lagerfilen.


"alle":
"verter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"barn":
"nett":
"verter":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null

,
"db":
"verter":
"vm5.nodekite.com ": null,
"VM 6.nodekite.com ": null




Når du er ferdig, trykk + S for å redde verter.json fil.

Her legger de markerte linjene til vertene vm3.nodekite.com og vm4.nodekite.com i nett gruppe.

De markerte linjene legger til vertene vm5.nodekite.com og VM 6.nodekite.com i db gruppe.

Nå kan du liste alle tilgjengelige verter i JSON-lagerfilen din med følgende kommando:

$ ansible - liste-verter alle

Som du kan se, er alle vertene fra hver gruppe (nett, db, og alle) vises.

For å liste opp tilgjengelige verter fra nett bare gruppe, kjør følgende kommando:

$ ansible - list-hosts web

Som du kan se, er alle vertene i nett gruppe vises.

På samme måte kan du liste alle tilgjengelige verter fra db gruppe med følgende kommando:

$ ansible - list-hosts db

Som du kan se, er alle vertene i db gruppe vises.

Legge til globale fakta i JSON Inventory File:

I Ansible kalles variabler også fakta. Globale fakta eller globale variabler er tilgjengelige fra alle vert i hver gruppe i JSON-lagerfilen din. I denne delen skal jeg vise deg hvordan du legger til globale fakta eller globale variabler i synlig.

Du kan legge til globale fakta eller globale variabler i vars seksjon inne alle delen av JSON-lagerfilen din som følger:


"alle":
"verter":
..
,
"vars":
"variable1": "verdi1",
"variable2": "verdi2"
,
"barn":
"nett":
..
,
"db":
..



For eksempel kan du legge til globale fakta / variabler webroot og indeks i vars delen av JSON-lagerfilen din som følger:


"alle":
"verter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"barn":
"nett":
"verter":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null

,
"db":
"verter":
"vm5.nodekite.com ": null,
"VM 6.nodekite.com ": null




Når du er ferdig, trykk + S for å lagre JSON-lagerfilen.

For å sjekke om de globale fakta / variablene fungerer, skal jeg lage en ny lekebok print_vars1.yaml. Hensikten med denne lekeboken er å skrive ut fakta / variabler ved hjelp av feilsøke modul av Ansible. Det vil også hjelpe oss med å forstå fakta / variabel forrang senere.

Så lag en ny lekebok print_vars1.yaml i din lekebøker / katalog og skriv inn følgende linjer i din print_vars1.yaml fil.

- verter: alle
bruker: ansible
oppgaver:
- navn: Skriv ut webroot og indeks
feilsøke:
msg: 'WebRoot webroot og indeks index'

Når du er ferdig, trykk + S for å redde print_vars1.yaml fil.

For å sjekke om de globale fakta / variablene fungerer, kjører du print_vars1.yaml spillbok som følger:

$ ansible-playbook playbooks / print_vars1.yaml

Spillboken skal kjøre vellykket.

Bla tilbake til OPPGAVE seksjon. Som du kan se, er webroot og indeks fakta / variabler brukes på hver vert i JSON-lagerfilen min. Så, globale fakta / variabler fungerer.

Legge til gruppefakta i JSON Inventory File:

Du kan også legge til fakta / variabler for en bestemt vertsgruppe. I denne delen skal jeg vise deg hvordan du legger til gruppefakta / variabler i JSON-lagerfilen.

Jeg skal legge til det samme webroot og indeks fakta i nett vertsgruppe for JSON-lagerfilen min. Verdien av disse fakta vil være forskjellig. Jeg har gjort det slik at du også kan forstå hvordan fakta / variabel forrang fungerer i Ansible.

For å legge til fakta webroot og indeks i nett vertsgruppe, legg til en vars delen i nett delen av JSON-lagerfilen din som følger:


"alle":
"verter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"barn":
"nett":
"verter":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null
,
"vars":
"webroot": "/ web / public_html",
"index": "index.html "

,
"db":
"verter":
"vm5.nodekite.com ": null,
"VM 6.nodekite.com ": null




Når du er ferdig, trykk + S for å lagre JSON-lagerfilen.

For å sjekke fakta, kjør print_vars1.yaml spillbok som følger:

$ ansible-playbook playbooks / print_vars1.yaml

Som du kan se, fakta gruppen webroot og indeks er bare tilgjengelig for vertene vm3.nodekite.com og vm4.nodekite.com, vertene i nett gruppe.

Legg også merke til at gruppens fakta (webroot og indeks) erstattet de globale fakta (webroot og indeks). Så du kan si at gruppefakta har høyere forrang enn de globale fakta.

Legge til vertsfakta i JSON Inventory File:

Du kan også legge til vertsspesifikke fakta / variabler i JSON-lagerfilen din. I denne delen skal jeg vise deg hvordan du legger til vertsspesifikke fakta / variabler i JSON-lagerfilen.

For globale eller gruppefakta har vi beholdt verdien til vertene null.

For å legge til fakta for verten, erstatt null med vertsfakta i JSON-lagerfilen som følger:

"verter":
"vert1":
"var1": "verdi1",
"var2": "verdi2",
,
"vert2":
"var2": "verdi3",
"var3": "verdi4",

For eksempel for å legge til indeks vertsfakta til vm5.nodekite.com vert, erstatt null med vertsfakta som følger.


"alle":
"verter":
"vm1.nodekite.com ": null,
"vm2.nodekite.com ": null
,
"vars":
"webroot": "/ var / www / html",
"index": "index.php "
,
"barn":
"nett":
"verter":
"vm3.nodekite.com ": null,
"vm4.nodekite.com ": null
,
"vars":
"webroot": "/ web / public_html",
"index": "index.html "

,
"db":
"verter":
"vm5.nodekite.com ":
"index": "index.py "
,
"VM 6.nodekite.com ": null




Når du er ferdig, trykk + S for å lagre JSON-lagerfilen.

For å sjekke tilgjengelige fakta, kjør print_vars1.yaml spillbok som følger:

$ ansible-playbook playbooks / print_vars1.yaml

Som du kan se, er indeks faktum er bare tilgjengelig for vm5.nodekite.com vert.

Legg også merke til at vertsfakta erstattet det globale faktum. Vertens fakta / variabler har høyest forrang i Ansible. Så vertsfaktaene / -variablene vil erstatte gruppens fakta / variabler og globale fakta / variabler.

Konklusjon:

I denne artikkelen har jeg vist deg hvordan du bygger en Ansible lagerfil i JSON-format. Jeg har vist deg hvordan du legger til verter, legger til vertsgrupper, legger til globale fakta, legger til gruppefakta og legger til vertsfakta i lagerfilen din i JSON-format.

Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...
Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...
Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...