Ansible Include_Vars

Ansible Include Vars



Ansible-ekosysteemissä meillä on pääsy include_vars-moduuliin, jonka avulla voimme ladata muuttujat tiedostosta, hakemistosta tai tiedostoista, jotka vastaavat tietyn pelikirjan glob-kuviota.

Tässä opetusohjelmassa opimme käyttämään tätä moduulia, jonka avulla voimme järjestää Ansible-kokoonpanomme loogisemmiksi ja puhtaammiksi yksiköiksi, joita on helpompi käyttää uudelleen ja ylläpitää.

Mahdolliset muuttujat

Oletuksena määrittelemme muuttujat pääasiassa pelikirjan sisällä. Kuitenkin, kun pelikirjat muuttuvat monimutkaisemmiksi, saatat joutua ylläpitämään niiden organisointia ja ylläpitoa tietyllä tasolla. Tässä tulee avuksi include_vars-moduuli.







Tämän moduulin avulla voimme erottaa muuttujat tietyiksi tiedostoiksi, joita voimme tuoda ja käyttää uudelleen tarpeen mukaan. Tämä on erityisen hyödyllistä työskenneltäessä erilaisissa ympäristöissä, kuten tuotannossa, lavastuksessa jne., joissa vaatimukset voivat vaihdella.



Include_Vars-moduulin edut

Seuraavassa on joitain huomattavia etuja muuttujien erottamisesta tiettyihin tiedostoihin:



Logiikan ja tiedon erottaminen - include_vars-moduulin avulla voimme pitää pelikirjat tiiviinä erottamalla tehtävät määritystiedoista.





Ympäristökohtaiset kokoonpanot – Muuttujien erottaminen antaa meille mahdollisuuden käyttää erilaisia ​​muuttujatiedostoja eri ympäristöille tai isäntäkoneille.

Vähentynyt päällekkäisyys - Sen avulla voimme välttää samojen muuttujien määrittämisen useisiin paikkoihin.



Ansible Include_Vars Syntaksi

Seuraavassa näkyy Ansible playbookin include_vars-moduulin perussyntaksi:

- nimi: Sisällytä muuttujat tiedostosta
include_vars:
tiedosto: tiedostopolku

Käyttöesimerkki:

Tarkastellaanpa joitain perusesimerkkejä include_vars-moduulin määrittämisestä ja työskentelystä pelikirjan kanssa.

Esimerkki 1: Peruskäyttö

Oletetaan, että meillä on seuraavanlainen hakemistoasettelu:

.
├── playbook.yml
└── kenen
└── db_config.yml Juurihakemistossa meillä on todellinen pelikirja, jonka haluamme suorittaa. Meillä on myös 'db_config.yml'-tiedosto vars-hakemistossa, jota käytämme tietokannan konfigurointiin tarvittavien muuttujien määrittämiseen.

Seuraavaksi var/db_config.yml-tiedostossa on seuraavat muuttujat:

db_user: root
db_salasana: mysql

Jos haluat käyttää aiempia muuttujia pelikirjassa, voimme käyttää include_vars-moduulia seuraavan pelikirjan esimerkin mukaisesti:

---
- isännät: kaikki
tehtävät:
- nimi: Sisällytä DB-kokoonpano
include_vars:
tiedosto: vars/db_config.yml
- nimi: Tulosta DB-käyttäjä
debug:
msg: 'Tietokannan käyttäjä on {{ db_user }}'

Esimerkki 2: Kaikkien tiedostojen sisällyttäminen hakemistoon

Voimme myös sisällyttää kaikki tietyn hakemiston tiedostot seuraavan esimerkin mukaisesti:

---
- isännät: kaikki
tehtävät:
- nimi: Sisällytä kaikki asetukset
include_vars:
sinä: vars

Tämän pitäisi sisältää kaikki muuttujat, jotka on määritetty kaikissa vars-hakemiston tiedostoissa.

Esimerkki 3: Muuttujien lataaminen ehdollisesti

Voimme myös käyttää erilaisia ​​parametreja sisällyttääksemme muuttujia, jotka vastaavat tiettyä ehtoa, kuten seuraavassa esitetään:

---
- isännät: kaikki
jonka:
env: lavastus

tehtävät:
- nimi: Sisällytä ympäristökohtaiset asetukset
include_vars:
tiedosto: 'vars/{{ env }}.yml'

Tässä tapauksessa lataamme 'staging.yml'-tiedoston edellisessä ohjekirjassa määritellyllä tavalla.

Johtopäätös

Opit Ansible include_vars -moduulista, jonka avulla voimme ladata muuttujat, jotka on määritetty tietyssä tiedostossa tai hakemistossa. Voit tarkistaa asiakirjoista tarkemman hallinnan.