Mahdollinen

Kuinka käyttää mahdollisia mukautettuja tietoja

Kuinka käyttää mahdollisia mukautettuja tietoja
Faktat ovat kuin muuttujat Ansible-ohjelmassa. Ansible tuottaa paljon tosiasioita riippuen automatisoidusta isännästä. Tarvittaessa voit myös määrittää mukautetut tosiasiat / muuttujat Ansible-sovelluksessa.

Voit määrittää kolmen tyyppisen mukautetun tosiasian Ansible-sovelluksessa.

1) Yleiset tosiasiat: Nämä tosiasiat ovat saatavilla jokaisesta varastotiedostosi isännästä.
2) Ryhmän tosiasiat: Nämä tosiasiat ovat saatavilla vain tietyltä isäntäryhmältä tai isäntäryhmältä.
3) Isäntätiedot: Nämä tosiasiat ovat saatavissa vain tietyltä isännältä.

Tässä artikkelissa aion näyttää, kuinka voit työskennellä mahdollisten mukautettujen tosiasioiden kanssa. Joten, aloitetaan.

Edellytykset:

Jos haluat kokeilla tämän artikkelin esimerkkejä,

1) Tietokoneellasi on oltava asennettuna Ansible.
2) Sinulla on oltava vähintään 6 Linux-isäntää, jotka on määritetty Ansible-automaatiota varten.

LinuxHintissä on paljon artikkeleita, jotka on tarkoitettu Ansible-ohjelmiston asentamiseen ja isäntien määrittämiseen Ansible-automaatiota varten. Voit tarkistaa ne tarvittaessa.

Projektihakemiston määrittäminen:

Ennen kuin aloitamme, luodaan projektihakemisto, jotta voimme järjestää projektitiedostomme.

Projektihakemiston luominen custom-tosiasiat / omassa KOTI , suorita seuraava komento:

$ mkdir -pv custom-faktat / playbooks, host_vars, group_vars

Siirry nyt kohtaan custom-tosiasiat / hakemistoon seuraavasti:

$ cd custom-faktat /

Luo Ansible-määritystiedosto mahdollista.vrt projektihakemistossasi seuraavasti:

$ nano mahdollista.vrt

Kirjoita seuraavat rivit mahdollista.vrt tiedosto.

[oletukset]
inventaario = isännät
host_key_checking = Epätosi

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa mahdollista.vrt määritystiedosto.

Luo nyt Ansible inventaariotiedosto isännät projektihakemistossasi seuraavasti:

$ nano-isännät

Kirjoita seuraavat rivit isäntä inventaariotiedosto.

vm1.nodekiitti.com
vm2.nodekiitti.com
[verkko]
vm3.nodekiitti.com
vm4.nodekiitti.com
[tietokanta]
vm [5: 6].nodekiitti.com

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa isännät inventaariotiedosto.

Voit luetella kaikki käytettävissä olevat isännät varastotiedostossa suorittamalla seuraavan komennon:

$ ansible all --list-hosts

Kuten näette, varastotiedostossani on kuusi isäntää.

Luettelemaan isännät, jotka ovat käytettävissä verkko Suorita seuraava komento varastotiedoston ryhmässä:

$ ansible web --list-hosts

Kuten näette, minulla on kaksi isäntää (vm3.nodekiitti.com ja vm4.nodekiitti.com) verkko luettelo varastotiedostostani.

Luettelemaan isännät, jotka ovat käytettävissä tietokanta Suorita seuraava komento varastotiedoston ryhmässä:

$ ansible -tietokanta --list-hosts

Kuten näette, minulla on kaksi isäntää (vm5.nodekiitti.com ja vm6.nodekiitti.com) tietokanta luettelo varastotiedostostani.

Työskentely mahdollisten maailmanlaajuisten faktojen kanssa:

Tässä osiossa aion näyttää, kuinka määritetään mahdolliset globaalit tosiasiat / muuttujat inventaariotiedostossasi ja miten niitä käytetään Ansible-soittokirjoista. Näytän myös, kuinka globaalit tosiasiat / muuttujat määritetään erillisessä tiedostossa.

Avaa ensin isäntä varastotiedosto seuraavalla komennolla:

$ nano-isännät

Lisää nyt merkityt viivat omaan isäntä inventaariotiedosto. Kun olet valmis, paina + X jonka jälkeen Y ja tallentaaksesi tiedoston.

'

Lisäät globaalit tosiasiat kaikki: vars -osiossa. Täällä olen lisännyt web_url maailmanlaajuinen tosiasia.

Luo nyt uusi soittokirja print_global_fact.yaml että soittokirjat / hakemistoon seuraavasti:

$ nano playbooks / print_global_fact.yaml

Kirjoita sitten seuraavat rivit print_global_fact.yaml tiedosto.

- isännät: kaikki
käyttäjä: mahdollinen
tehtävät:
- nimi: Tulosta globaalin tosiasian 'web_url' arvo
virheenkorjaus:
msg: 'Verkko-URL: web_url'

Tämän soittokirjan tarkoituksena on tulostaa web_url maailmanlaajuinen tosiasia.

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa print_global_fact.yaml tiedosto.

Suorita nyt print_global_fact.yaml pelikirja seuraavasti:

$ ansible-playbook playbooks / print_global_fact.yaml

Kuten näette, kaikki varastotiedostoni isännät voivat käyttää yleistä tosiasiaa web_url.

Voit myös lisätä yleisiä tosiseikkoja erilliseen tiedostoon. Näin voit pitää varastotiedoston puhtaana. Katsotaanpa, miten se tehdään.

Ensinnäkin poistetaan globaalit tosiasiat isäntä inventaariotiedosto.

$ nano-isännät

Poista nyt merkityt rivit inventaariotiedostosta ja paina + X, jonka jälkeen Y ja tallentaa varastotiedoston.

Luo sitten uusi tiedosto kaikki että ryhmä_varret / hakemistoon seuraavasti:

$ nano group_vars / kaikki

Lisätään globaali tosiasia web_url, kirjoita seuraavan rivin group_vars / kaikki tiedosto.

web_url: https: // www.linuxhint.com

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa group_vars / kaikki tiedosto.

Voit tarkistaa, pääsetkö maailmanlaajuiseen tosiseikkaan web_url, ajaa print_global_fact.yaml pelikirja uudelleen seuraavasti:

$ ansible-playbook playbooks / print_global_fact.yaml

Kuten näette, kaikki varastotiedostoni isännät voivat käyttää yleistä tosiasiaa web_url.

Työskentely mahdollisten ryhmätietojen kanssa:

Tässä osiossa aion näyttää, kuinka määritetään Ansible-ryhmän tosiasiat / muuttujat inventaariotiedostossasi ja miten niitä käytetään Ansible-soittokirjoista. Näytän myös, kuinka määritetään ryhmätiedot / muuttujat erillisessä tiedostossa.

Avaa ensin isäntä varastotiedosto seuraavalla komennolla:

$ nano-isännät

Jos sinulla on isäntäryhmä ryhmä 1, sitten lisäät ryhmän tosiasiat / muuttujat kyseiselle isäntäryhmälle a ryhmä1: vars osasto varastotiedostostasi.

[ryhmä1]

[ryhmä1: vars]
muuttuja1 = arvo1
muuttuja2 = arvo2

Esimerkiksi lisätä ryhmän tosiasiat / muuttujat verkkotunnus ja database_backends varten verkko isäntäryhmä, voit kirjoittaa merkittyt rivit varastotiedostoon.

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa varastotiedoston.

Luo uusi pelikirja, jos haluat tulostaa ja testata, pääsimmekö ryhmätietoihin print_group_facts.yaml että soittokirjat / hakemistoon seuraavasti:

$ nano playbooks / print_group_facts.yaml

Kirjoita seuraavat rivit print_group_facts.yaml tiedosto.

- hosts: verkko
käyttäjä: mahdollinen
tehtävät:
- nimi: Tulosta ryhmän tosiasiat
virheenkorjaus:
msg: 'Verkkotunnuksen nimi: domain_name tietokannan taustajärjestelmä: database_backend'

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa print_group_facts.yaml tiedosto.

Suorita nyt print_group_facts.yaml pelikirja seuraavasti:

$ ansible-playbook playbooks / print_group_facts.yaml

Kuten näette, verkko ryhmä voi käyttää verkkotunnus ja database_backend ryhmätiedot / muuttujat.

Puhdistetaan nyt inventaariotiedosto ja katsotaan, miten ryhmätiedot / muuttujat lisätään erilliseen tiedostoon.

Avaa ensin isäntä varastotiedosto seuraavasti:

$ nanotiedot

Poista merkityt viivat isäntä inventaariotiedosto. Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa isännät inventaariotiedosto.

Kun lisäämme ryhmämuuttujia verkko isäntäryhmä, luo uusi tiedosto verkko (sama kuin ryhmän nimi) ryhmä_varret / hakemistoon seuraavasti:

$ nano group_vars / verkko

Lisää ryhmän tosiasiat verkkotunnus ja database_backend varten verkko lisää seuraavat rivit group_vars / verkko tiedosto.

domain_name: verkko.linuxhint.com
database_backend: pgsql

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa group_vars / verkko tiedosto.

Voit tarkistaa, onko verkko ryhmä voi käyttää ryhmän tosiasioita, suorittaa print_group_facts.yaml pelikirja seuraavasti:

$ ansible-playbook playbooks / print_group_facts.yaml

Kuten näette, verkko ryhmä voi käyttää verkkotunnus ja database_backend ryhmätiedot / muuttujat.

Työskentely mahdollisten isäntätietojen kanssa:

Tässä osiossa aion näyttää, kuinka määritetään mahdolliset isännän tosiasiat / muuttujat inventaariotiedostossasi ja miten niitä käytetään Ansible-soittokirjoista. Näytän myös, miten isäntätiedot / muuttujat määritetään erillisessä tiedostossa.

Avaa ensin isäntä varastotiedosto seuraavalla komennolla:

$ nano-isännät

Voit lisätä isäntätietoja / muuttujia varastotiedostoon isännän DNS-nimen tai IP-osoitteen jälkeen seuraavasti:

www.verkkotunnus1.com muuttuja1 = arvo1 muuttuja2 = arvo2
192.168.22.2 muuttuja1 = arvo3 muuttuja2 = arvo4

Voit esimerkiksi lisätä isäntätietoja / muuttujia verkkotunnus ja database_backend isännille vm3.nodekiitti.com ja vm4.nodekiitti.com, kuten alla olevassa kuvakaappauksessa on merkitty.

Huomaa, että verkkotunnus ja database_backend tosiasiat / muuttujat ovat erilaiset kullekin isännälle.

Kun olet lisännyt isäntätiedot / muuttujat, paina + X, jonka jälkeen Y ja tallentaa isäntä inventaariotiedosto.

Koska olen lisännyt samat tosiasiat / muuttujat kuin ryhmätiedot / muuttujat -esimerkissä, voimme käyttää print_group_facts.yaml pelikirja testata myös näiden faktojen / muuttujien saatavuutta.

Suorita print_group_facts.yaml pelikirja seuraavasti:

$ ansible-playbook playbooks / print_group_facts.yaml

Kuten näette, isännän tosiasiat / muuttujat ovat heidän määritetyn isäntänsä käytettävissä. Arvot ovat erilaiset myös jokaisessa isännässä.

Koska kukin isännistä on erillisellä rivillä varastotiedostossani, voisin helposti lisätä isäntätietoja / muuttujia varastotiedostooni. Mutta jos määrität alueita varastotiedostosi isäntien määrittelemiseksi alla olevan kuvakaappauksen mukaisesti, et voi lisätä tällaisia ​​isäntätietoja / muuttujia.

Voit lisätä isäntätietoja / muuttujia erilliseen tiedostoon, aivan kuten olet tehnyt globaaleille ja ryhmätiedoille / muuttujille.

Lisää isäntätietoja / muuttujia vm5.nodekiitti.com isäntä, luo uusi tiedosto vm5.nodekiitti.com (sama kuin isännän DNS-nimi) host_vars / hakemistoon seuraavasti:

$ nano host_vars / vm5.nodekiitti.com

Voit lisätä isännän tosiasiat / muuttujat db_port ja db_name isännälle vm5.nodekiitti.com seuraavilla riveillä.

db_port: 3306
db_name: esittely1

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa vm5.nodekiitti.com tiedosto.

Samalla tavalla, lisätä isäntätietoja / muuttujia isännälle vm6.nodekiitti.com, luo uusi tiedosto vm6.nodekiitti.com että host_vars / hakemistoon seuraavasti:

$ nano host_vars / vm6.nodekiitti.com

Voit lisätä isännän tosiasiat / muuttujat db_port ja db_name isännälle vm6.nodekiitti.com seuraavilla riveillä.

db_port: 8877
db_nimi: sovellus1

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa vm6.nodekiitti.com tiedosto.

Luo uusi pelikirja, jos haluat tulostaa ja testata, pääsimmekö pääsyyn isäntätietoihin / muuttujiin print_host_facts.yaml että soittokirjat / hakemistoon seuraavasti:

$ nano playbooks / print_host_facts.yaml

Kirjoita nyt seuraavat rivit print_host_facts.yaml tiedosto.

- hosts: tietokanta
käyttäjä: mahdollinen
tehtävät:
- nimi: Tulosta isäntätiedot
virheenkorjaus:
msg: 'Tietokannan nimi: db_name Tietokantaportti: db_port'

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa print_host_facts.yaml tiedosto.

Voit tarkistaa, onko isäntä vm5.nodekiitti.com ja vm6.nodekiitti.com voi käyttää isäntätietoja / muuttujia, suorittaa print_host_facts.yaml pelikirja seuraavasti:

$ ansible-playbook playbooks / print_host_facts.yaml

Kuten näette, isännät vm5.nodekiitti.com ja vm6.nodekiitti.com voi käyttää db_name ja db_port isäntätiedot / muuttujat.

Yhdistämällä kaikki yhteen: Mahdolliset tosiasiat etusijalla

Tässä osiossa aion puhua mahdollisesta tosiasiasta / muuttuvasta etusijasta. Joten, aloitetaan.

Ennen kuin aloitamme, puhdistetaan varastotiedosto.

Avaa isäntä varastotiedosto seuraavalla komennolla:

$ nano-isännät

Poista merkitty osa varastotiedostosta.

Näin varastotiedostosi tulisi näyttää tässä vaiheessa.

Lisää nyt merkitty rivi varastotiedostoosi. Nämä rivit lisäävät yleiset tosiasiat / muuttujat tosiasia_skooppi ja satamaan.

Lisää sitten merkityt rivit varastotiedostoon. Nämä rivit lisäävät tosiasia_skooppi ja satamaan tosiasiat / muuttujat tietokanta ryhmä.

Lisää lopuksi tosiasia_skooppi ja satamaan isäntätiedot / muuttujat vm3.nodekiitti.com ja vm4.nodekiitti.com isännät, kuten alla olevassa kuvakaappauksessa on merkitty.

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa varastotiedoston.

Luo uusi pelikirja, jos haluat tulostaa yleisten, ryhmien ja isäntien tosiasiat / muuttujien arvon tosiasiallisuus.yaml että soittokirjat / hakemistoon seuraavasti:

$ nano playbooks / fact_precedence.yaml

Kirjoita seuraavat rivit tosiasiallisuus.yaml tiedosto.

- isännät: kaikki
käyttäjä: mahdollinen
tehtävät:
- nimi: Tulosta kaikki tosiasiat
virheenkorjaus:
msg: 'Tosiasia: fact_scope Portti: port'

Kun olet valmis, paina + X jonka jälkeen Y ja tallentaa tosiasiallisuus.yaml tiedosto.

Tulosta yleiset, ryhmä- ja isäntätiedot / muuttujat suorittamalla tosiasiallisuus.yaml pelikirja seuraavasti:

$ ansible-playbook playbooks / fact_precedence.yaml

Kuten näette, yleiset, ryhmä- ja isäntätiedot / muuttujat tulostetaan.

Huomaa, että ryhmän tosiasiat / muuttujat korvasivat yleiset tosiasiat / muuttujat (1). Huomaa myös, että isäntätiedot / muuttujat korvasivat sekä ryhmän että yleiset tosiasiat / muuttujat (2).

Ansiblein tosiasia / vaihteleva etusija on seuraava:

Isäntäfaktat> Ryhmätiedot> Globaalit tosiasiat

Päätelmä:

Kun olet lukenut tämän artikkelin, sinun pitäisi pystyä työskentelemään mukavasti Ansible globaalien, ryhmä- ja isäntäfaktojen / muuttujien kanssa. Muista Ansible-mukautettujen tosiasioiden etusija. Se auttaa sinua testaamaan Ansible-soittokirjojasi helpommin.

Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...