Võimalik

Kuidas kasutada võimalikke kohandatud fakte

Kuidas kasutada võimalikke kohandatud fakte
Faktid on nagu muutujad jaotises Ansible. Ansible genereerib palju fakte, olenevalt hostist, mida see automatiseerib. Vajadusel saate jaotises Ansible määratleda ka kohandatud faktid / muutujad.

Rakenduses Ansible saate määratleda kolme tüüpi kohandatud fakte.

1) Üldised faktid: Nendele faktidele pääsete juurde kõikidest teie varude faili hostidest.
2) Grupi faktid: Need faktid on kättesaadavad ainult kindlatest hostidest või hostigrupist.
3) Fakti faktid: Need faktid on kättesaadavad ainult kindlalt hostilt.

Selles artiklis näitan teile, kuidas töötada Ansible'i kohandatud faktidega. Alustame siis.

Eeldused:

Kui soovite proovida selle artikli näiteid,

1) Teie arvutisse peab olema installitud Ansible.
2) Teil peab olema Ansible automatiseerimise jaoks konfigureeritud vähemalt 6 Linuxi hosti.

LinuxHintis on palju artikleid, mis on pühendatud Ansible'i installimisele ja hostide konfigureerimisele Ansible'i automatiseerimiseks. Vajadusel võite neid vaadata.

Projektikataloogi seadistamine:

Enne alustamist loome projekti kataloog, et saaksime oma projektifaile korrastada.

Projektikataloogi loomiseks kohandatud faktid / oma KODU kataloogi, käivitage järgmine käsk:

$ mkdir -pv kohandatud faktid / playbooks, host_vars, group_vars

Nüüd navigeerige jaotisesse kohandatud faktid / kataloogi järgmiselt:

$ cd kohandatud faktid /

Looge Ansible konfiguratsioonifail võimalik.vrd oma projekti kataloogis järgmiselt:

$ nano on võimalik.vrd

Sisestage järgmistele ridadele teie võimalik.vrd faili.

[vaikimisi]
inventar = hostid
host_key_checking = Vale

Kui olete valmis, vajutage + X järgneb Y ja salvestada võimalik.vrd konfiguratsioonifail.

Nüüd looge Ansible inventuuri fail võõrustajad oma projekti kataloogis järgmiselt:

$ nano hostid

Sisestage oma rida järgmised read peremehe oma varude toimik.

vm1.nodekite.com
vm2.nodekite.com
[võrk]
vm3.nodekite.com
vm4.nodekite.com
[andmebaas]
vm [5: 6].nodekite.com

Kui olete valmis, vajutage + X järgneb Y ja salvestada võõrustajad varude toimik.

Kõigi saadaolevate hostide loendisse loetlemiseks tehke järgmine käsk:

$ ansible all --list-hosts

Nagu näete, on minu inventari failis kuus hosti.

Aadressil saadaval olevate hostide loetelu võrk oma varude faili rühmas käivitage järgmine käsk:

$ ansible web --list-hosts

Nagu näete, on mul kaks hostit (vm3.nodekite.com ja vm4.nodekite.com) võrk minu varude faili rühm.

Aadressil saadaval olevate hostide loetelu andmebaasi oma varude faili rühmas käivitage järgmine käsk:

$ ansible andmebaas - list-hosts

Nagu näete, on mul kaks hosti (vm5.nodekite.com ja vm6.nodekite.com) andmebaasi minu inventuuri faili rühm.

Töötamine võimalike globaalsete faktidega:

Selles jaotises näitan teile, kuidas määratleda oma inventuuri failis Ansible globaalseid fakte / muutujaid ja pääseda neile juurde oma Ansible esiraamatutest. Samuti näitan teile, kuidas globaalseid fakte / muutujaid eraldi failis määratleda.

Esiteks avage peremehe oma inventari fail järgmise käsuga:

$ nano hostid

Nüüd lisage märgitud read oma peremehe oma varude toimik. Kui olete valmis, vajutage + X järgneb Y ja faili salvestamiseks.

"

Lisate globaalsed faktid kõik: vars jaotises. Siia olen lisanud web_url globaalne fakt.

Nüüd looge uus mänguraamat print_global_fact.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano playbooks / print_global_fact.yaml

Seejärel tippige väljale järgmised read print_global_fact.yaml faili.

- võõrustajad: kõik
kasutaja: ansible
ülesanded:
- nimi: printige globaalse fakti 'web_url' väärtus
silumine:
msg: 'Veebi URL: web_url'

Selle raamatu eesmärk on printida veebi_url globaalne fakt.

Kui olete valmis, vajutage + X järgneb Y ja salvestada print_global_fact.yaml faili.

Nüüd käivitage print_global_fact.yaml järgmine raamat:

$ ansible-playbook playbooks / print_global_fact.yaml

Nagu näete, pääsevad kõik minu inventeerimisfaili hostid globaalsele faktile juurde web_url.

Üldiseid fakte saate lisada ka eraldi faili. Nii saate inventeerimisfaili puhtana hoida. Vaatame, kuidas seda teha.

Kõigepealt eemaldame globaalsed faktid peremehe oma varude toimik.

$ nano hostid

Nüüd eemaldage märgitud read inventeerimisfailist ja vajutage + X, järgneb Y ja varude faili salvestamiseks.

Seejärel looge uus fail kõik aastal group_vars / kataloogi järgmiselt:

$ nano group_vars / kõik

Lisades globaalse fakti veebi_url, tippige group_vars / kõik faili.

web_url: https: // www.linuxhint.com

Kui olete valmis, vajutage + X järgneb Y ja salvestada group_vars / kõik faili.

Kontrollimaks, kas pääsete juurde globaalsele faktile veebi_url, käivitada print_global_fact.yaml mänguraamat uuesti järgmiselt:

$ ansible-playbook playbooks / print_global_fact.yaml

Nagu näete, pääsevad kõik minu inventeerimisfaili hostid globaalsele faktile juurde veebi_url.

Töötamine grupi võimalike faktidega:

Selles jaotises näitan teile, kuidas määratleda oma inventuuri failis Ansible grupi faktid / muutujad ja pääseda neile juurde oma Ansible esiraamatutest. Samuti näitan teile, kuidas grupifaktid / muutujad eraldi failis määratleda.

Esiteks avage peremehe oma inventari fail järgmise käsuga:

$ nano hostid

Kui teil on hostgrupp rühm1, siis lisate a selle rühma faktid / muutujad selle hosti rühma jaoks rühm1: vars jaotis teie varude failis.

[rühm1]

[rühm1: vars]
muutuja1 = väärtus1
muutuja2 = väärtus2

Näiteks rühma faktide / muutujate lisamiseks domeeninimi ja andmebaasi_taustad jaoks võrk hostgrupi, saate sisestada oma varude faili märgitud read.

Kui olete valmis, vajutage + X järgneb Y ja varude faili salvestamiseks.

Printimiseks ja testimiseks, kas meil on juurdepääs grupi faktidele, looge uus mänguraamat print_grupi_faktid.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano playbooks / print_group_facts.yaml

Sisestage oma rida järgmised read print_grupi_faktid.yaml faili.

- hostid: veeb
kasutaja: ansible
ülesanded:
- nimi: grupi faktide printimine
silumine:
msg: 'Domeeni nimi: domain_name andmebaasi taustaprogramm: database_backend'

Kui olete valmis, vajutage + X järgneb Y ja salvestada print_grupi_faktid.yaml faili.

Nüüd käivitage print_grupi_faktid.yaml järgmine raamat:

$ ansible-playbook playbooks / print_group_facts.yaml

Nagu näete, on võrk rühm pääseb juurde domeeninimi ja andmebaasi_taust rühma faktid / muutujad.

Puhastame nüüd inventeerimisfaili ja vaatame, kuidas lisada grupifaktid / muutujad eraldi faili.

Esiteks avage peremehe oma varude fail järgmiselt:

$ nano faktid

Eemaldage märgitud jooned lehelt peremehe oma varude toimik. Kui olete valmis, vajutage + X järgneb Y ja salvestada võõrustajad varude toimik.

Kui lisame grupi muutujaid võrk hostgrupp, looge uus fail võrk (sama mis rühma nimi) group_vars / kataloogi järgmiselt:

$ nano group_vars / veeb

Grupi faktide lisamiseks domeeninimi ja andmebaasi_taust jaoks võrk lisage järgmised read ritta group_vars / veeb faili.

domeeninimi: veeb.linuxhint.com
andmebaasi_taust: pgsql

Kui olete valmis, vajutage + X järgneb Y ja salvestada group_vars / veeb faili.

Kontrollimaks, kas võrk grupil on juurdepääs grupi faktidele, käivitage print_grupi_faktid.yaml järgmine raamat:

$ ansible-playbook playbooks / print_group_facts.yaml

Nagu näete, on võrk rühm pääseb juurde domeeninimi ja andmebaasi_taust rühma faktid / muutujad.

Võimalike hostifaktidega töötamine:

Selles jaotises näitan teile, kuidas määratleda oma inventeerimisfailis Ansible host fakte / muutujaid ja pääseda neile juurde oma Ansible esiraamatutest. Samuti näitan teile, kuidas määratleda hostifaktid / muutujad eraldi failis.

Esiteks avage peremehe oma inventari fail järgmise käsuga:

$ nano hostid

Saate oma masinafailis lisada hosti DNS-i nime või IP-aadressi järel hosti faktid / muutujad järgmiselt:

www.domeen1.com muutuja1 = väärtus1 muutuja2 = väärtus2
192.168.22.2 muutuja1 = väärtus3 muutuja2 = väärtus4

Näiteks saate lisada hosti faktid / muutujad domeeninimi ja andmebaasi_taust võõrustajatele vm3.nodekite.com ja vm4.nodekite.com, nagu on märgitud alloleval ekraanipildil.

Pange tähele, et väärtuse domeeninimi ja andmebaasi_taust faktid / muutujad on iga hosti jaoks erinevad.

Kui olete hosti faktide / muutujate lisamise lõpetanud, vajutage + X, järgneb Y ja salvestada peremehe oma varude toimik.

Kuna olen lisanud samad faktid / muutujad nagu grupi faktide / muutujate näites, saame kasutada print_grupi_faktid.yaml ka nende faktide / muutujate ligipääsetavuse testimiseks.

Käivitage print_grupi_faktid.yaml järgmine raamat:

$ ansible-playbook playbooks / print_group_facts.yaml

Nagu näete, on hostifaktid / muutujad nende määratud hostile juurdepääsetavad. Väärtused on ka iga hosti jaoks erinevad.

Kuna kõik hostid asuvad minu inventari failis eraldi real, võiksin hõlpsalt oma massifaili lisada hostifaktid / muutujad. Kuid kui kasutate varude failis hostide määratlemiseks vahemikke, nagu on märgitud alloleval ekraanipildil, ei saa te selliseid hosti fakte / muutujaid lisada.

Saate lisada hostifaktid / muutujad eraldi faili, nagu olete teinud globaalsete ja grupeeruvate faktide / muutujate puhul.

Hosti faktide / muutujate lisamine vm5.nodekite.com host, looge uus fail vm5.nodekite.com (sama mis hosti DNS-i nimi) host_vars / kataloogi järgmiselt:

$ nano host_vars / vm5.nodekite.com

Saate lisada hosti faktid / muutujad db_port ja db_nimi peremehe jaoks vm5.nodekite.com järgmiste ridadega.

db_port: 3306
db_name: demo1

Kui olete valmis, vajutage + X järgneb Y ja salvestada vm5.nodekite.com faili.

Samamoodi saate lisada hostile fakte / muutujaid vm6.nodekite.com, looge uus fail vm6.nodekite.com aastal host_vars / kataloogi järgmiselt:

$ nano host_vars / vm6.nodekite.com

Saate lisada hosti faktid / muutujad db_port ja db_nimi peremehe jaoks vm6.nodekite.com järgmiste ridadega.

db_port: 8877
db_name: rakendus1

Kui olete valmis, vajutage + X järgneb Y ja salvestada vm6.nodekite.com faili.

Printimiseks ja testimiseks, kas pääseme juurde hostfaktidele / muutujatele, looge uus mänguraamat print_host_faktid.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano playbooks / print_host_facts.yaml

Sisestage nüüd järgmised read print_host_faktid.yaml faili.

- hosts: andmebaas
kasutaja: ansible
ülesanded:
- nimi: printige hostifaktid
silumine:
msg: 'Andmebaasi nimi: db_name Andmebaasi port: db_port'

Kui olete valmis, vajutage + X järgneb Y ja salvestada print_host_faktid.yaml faili.

Kontrollimaks, kas host vm5.nodekite.com ja vm6.nodekite.com pääseb juurde hostfaktidele / muutujatele, käivitage print_host_faktid.yaml järgmine raamat:

$ ansible-playbook playbooks / print_host_facts.yaml

Nagu näete, võõrustajad vm5.nodekite.com ja vm6.nodekite.com pääseb db_nimi ja db_port hostfaktid / muutujad.

Selle kõik kokku panemine: eelistatavad faktid

Selles osas räägin võimalikust faktist / muutuvast ülimuslikkusest. Alustame siis.

Enne alustamist koristame inventeerimisfaili.

Ava peremehe oma inventari fail järgmise käsuga:

$ nano hostid

Eemaldage märgistatud osa inventuuri failist.

Nii peaks teie varude fail selles punktis välja nägema.

Nüüd lisage oma varude faili märgitud rida. Need read lisavad üldised faktid / muutujad fakt_skeem ja sadam.

Seejärel lisage oma varude faili märgitud read. Need read lisavad fakt_skeem ja sadam faktid / muutujad hostides andmebaasi Grupp.

Lõpuks lisage fakt_skeem ja sadam hostfaktid / muutujad vm3.nodekite.com ja vm4.nodekite.com hostid, nagu on märgitud alloleval ekraanipildil.

Kui olete valmis, vajutage + X järgneb Y ja varude faili salvestamiseks.

Globaalse, grupi ja hostiga seotud faktide / muutujate väärtuse printimiseks looge uus mänguraamat fakt_precendence.yaml aastal mänguraamatud / kataloogi järgmiselt:

$ nano mänguraamatud / fakt_precedence.yaml

Sisestage järgmistesse ridadesse fakt_pretsedentsus.yaml faili.

- võõrustajad: kõik
kasutaja: ansible
ülesanded:
- nimi: printige kõik faktid
silumine:
msg: 'Faktide ulatus: fact_scope Port: port'

Kui olete valmis, vajutage + X järgneb Y ja salvestada fakt_pretsedentsus.yaml faili.

Üldiste, rühma- ja hostifaktide / muutujate printimiseks käivitage fakt_pretsedentsus.yaml järgmine raamat:

$ ansible-playbooki mänguraamatud / fakt_precedence.yaml

Nagu näete, trükitakse globaalsed, grupi ja hostiga seotud faktid / muutujad.

Pange tähele, et rühma faktid / muutujad asendasid üldised faktid / muutujad (1). Pange tähele, et hostfaktid / muutujad asendasid nii grupi kui ka globaalsed faktid / muutujad (2).

Ansible'i fakt / muutuv prioriteet on järgmine:

Saatefakt> grupifakt> globaalne fakt

Järeldus:

Pärast selle artikli lugemist peaksite saama mugavalt töötada globaalse, grupi ja hostiga seotud faktide / muutujatega. Pidage meeles Ansible'i kohandatud faktide ülimuslikkust. See aitab teil oma Ansible'i raamatuid hõlpsamini siluda.

10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...
5 parimat arkaadmängu Linuxile
Tänapäeval on arvutid tõsised mängimiseks kasutatavad masinad. Kui te ei saa uut rekordit, teate, mida ma mõtlen. Selles postituses saate teada mõnda ...
Lahing Wesnothi eest 1.13.6 Areng vabastati
Lahing Wesnothi eest 1.13.6 ilmus eelmisel kuul, on 1-s kuues arendusversioon.13.x-seeria ja see pakub mitmeid täiustusi, eelkõige kasutajaliidese ja ...