Negalima

Kaip naudoti galimus pasirinktinius faktus

Kaip naudoti galimus pasirinktinius faktus
Faktai yra kaip „Ansible“ kintamieji. „Ansible“ generuoja daug faktų, priklausomai nuo to, kokį kompiuterį jis automatizuoja. Jei reikia, taip pat galite apibrėžti pasirinktinius faktus / kintamuosius „Ansible“.

„Ansible“ galite apibrėžti trijų tipų pasirinktinius faktus.

1) Visuotiniai faktai: Šiuos faktus gali rasti visi jūsų inventoriaus failo pagrindiniai kompiuteriai.
2) Grupės faktai: Šiuos faktus gali gauti tik konkretus pagrindinių kompiuterių rinkinys arba priimančiosios grupė.
3) Pagrindiniai faktai: Su šiais faktais gali susipažinti tik konkretus šeimininkas.

Šiame straipsnyje aš jums parodysiu, kaip dirbti su „Ansible custom fact“. Taigi, pradėkime.

Būtinos sąlygos:

Jei norite išbandyti šio straipsnio pavyzdžius,

1) Savo kompiuteryje turite būti įdiegę „Ansible“.
2) Jūs turite turėti bent 6 „Linux“ pagrindinius kompiuterius, sukonfigūruotus „Ansible“ automatizavimui.

„LinuxHint“ yra daug straipsnių, skirtų „Ansible“ diegimui ir kompiuterių konfigūravimui „Ansible“ automatizavimui. Jei reikia, galite juos patikrinti.

Projektų katalogo nustatymas:

Prieš pradėdami sukurkime projekto katalogą, kad galėtume sutvarkyti savo projekto failus.

Norėdami sukurti projekto katalogą papročiai-faktai / jūsų NAMAI kataloge, vykdykite šią komandą:

$ mkdir -pv pasirinktiniai faktai / grojaraščiai, host_vars, group_vars

Dabar eikite į papročiai-faktai / katalogą taip:

$ cd pasirinktiniai faktai /

Sukurkite Ansible konfigūracijos failą įmanoma.plg savo projekto kataloge taip:

$ nano galima.plg

Įveskite šias eilutes įmanoma.plg failą.

[pagal nutylėjimą]
inventorius = šeimininkai
host_key_checking = Netiesa

Baigę paspauskite + X paskui Y ir išsaugoti įmanoma.plg konfigūracijos failas.

Dabar sukurkite Ansible inventoriaus failą šeimininkai savo projekto kataloge taip:

$ nano šeimininkai

Įveskite šias eilutes savo šeimininko inventoriaus byla.

vm1.nodekitas.com
vm2.nodekitas.com
[žiniatinklis]
vm3.nodekitas.com
vm4.nodekitas.com
[duomenų bazė]
vm [5: 6].nodekitas.com

Baigę paspauskite + X paskui Y ir išsaugoti šeimininkai inventoriaus byla.

Norėdami išvardyti visus galimus kompiuterius inventoriaus faile, vykdykite šią komandą:

$ ansible all --list-hosts

Kaip matote, savo inventoriaus byloje turiu šešis pagrindinius kompiuterius.

Norėdami išvardyti pagrindiniame kompiuteryje esančius pagrindinius kompiuterius internetas savo atsargų failo grupę, vykdykite šią komandą:

$ ansible web --list-hosts

Kaip matote, turiu du šeimininkus (vm3.nodekitas.com ir vm4.nodekitas.com) viduje konors internetas mano atsargų bylos grupę.

Norėdami išvardyti pagrindiniame kompiuteryje esančius pagrindinius kompiuterius duomenų bazė savo atsargų failo grupę, vykdykite šią komandą:

$ ansible duomenų bazė - list-hosts

Kaip matote, turiu du šeimininkus (vm5.nodekitas.com ir vm6.nodekitas.com) viduje konors duomenų bazė mano atsargų bylos grupę.

Darbas su galimais globaliais faktais:

Šiame skyriuje aš jums parodysiu, kaip apibrėžti galimus visuotinius faktus / kintamuosius savo inventoriaus faile ir pasiekti juos iš jūsų „Ansible“ knygų. Taip pat parodysiu, kaip atskirame faile apibrėžti pasaulinius faktus / kintamuosius.

Pirmiausia atidarykite šeimininko inventoriaus failas su šia komanda:

$ nano šeimininkai

Dabar pridėkite pažymėtas eilutes šeimininko inventoriaus byla. Baigę paspauskite + X paskui Y ir kad išsaugotumėte failą.

"

Jūs įtraukiate pasaulinius faktus į visi: vars skyrius. Čia aš pridėjau web_url pasaulinis faktas.

Dabar sukurkite naują pjesę print_global_fact.yaml viduje konors grojaraščiai / katalogą taip:

$ nano grojaraščiai / print_global_fact.yaml

Tada įveskite šias eilutes print_global_fact.yaml failą.

- šeimininkai: visi
vartotojas: ansible
užduotys:
- pavadinimas: išspausdinkite visuotinio fakto „web_url“ vertę
derinti:
msg: „Žiniatinklio URL: web_url“

Šios knygelės tikslas yra atsispausdinti web_url pasaulinis faktas.

Baigę paspauskite + X paskui Y ir išsaugoti print_global_fact.yaml failą.

Dabar paleiskite print_global_fact.yaml pjesė taip:

$ ansible-playbook playbooks / print_global_fact.yaml

Kaip matote, visi mano inventoriaus failo kompiuteriai gali pasiekti visuotinį faktą web_url.

Visuotinius faktus taip pat galite pridėti atskirame faile. Tokiu būdu galite išlaikyti atsargų failą švarų. Pažiūrėkime, kaip tai padaryti.

Pirmiausia pašalinkime pasaulinius faktus iš šeimininko inventoriaus byla.

$ nano šeimininkai

Dabar pašalinkite pažymėtas eilutes iš atsargų bylos ir paspauskite + X, paskui Y ir kad išsaugotumėte atsargų bylą.

Tada sukurkite naują failą visi viduje konors group_vars / katalogą taip:

$ nano group_vars / visi

Norėdami pridėti visuotinį faktą web_url, įveskite šioje eilutėje group_vars / all failą.

web_url: https: // www.linuxhint.com

Baigę paspauskite + X paskui Y ir išsaugoti group_vars / all failą.

Norėdami patikrinti, ar galite pasiekti visuotinį faktą web_url, paleisti print_global_fact.yaml pjesė dar kartą taip:

$ ansible-playbook playbooks / print_global_fact.yaml

Kaip matote, visi mano inventoriaus failo kompiuteriai gali pasiekti visuotinį faktą web_url.

Darbas su galimais grupės faktais:

Šiame skyriuje aš jums parodysiu, kaip apibrėžti „Ansible group“ faktus / kintamuosius savo inventoriaus faile ir pasiekti juos iš jūsų „Ansible“ knygų. Taip pat parodysiu, kaip atskirame faile apibrėžti grupės faktus / kintamuosius.

Pirmiausia atidarykite šeimininko inventoriaus failas su šia komanda:

$ nano šeimininkai

Jei turite priimančiosios grupę grupė1, tada pridedate tos pagrindinės grupės grupės faktus / kintamuosius a group1: vars atsargų bylos skyrių.

[grupė1]

[group1: vars]
kintamasis1 = reikšmė1
kintamasis2 = reikšmė2

Pavyzdžiui, norint pridėti grupės faktus / kintamuosius domeno vardas ir database_backendsinternetas priimančiosios grupės, galite įvesti pažymėtas eilutes savo atsargų byloje.

Baigę paspauskite + X paskui Y ir kad išsaugotumėte atsargų bylą.

Norėdami atsispausdinti ir patikrinti, ar galime pasiekti grupės faktus, sukurkite naują grojaraštį spausdinimo_grupės_faktai.yaml viduje konors grojaraščiai / katalogą taip:

$ nano grojaraščiai / print_group_facts.yaml

Įveskite šias eilutes savo spausdinimo_grupės_faktai.yaml failą.

- kompiuteriai: internetas
vartotojas: ansible
užduotys:
- pavadinimas: spausdinkite grupės faktus
derinti:
msg: 'Domeno vardas: domain_name Duomenų bazės vidinė pusė: database_backend'

Baigę paspauskite + X paskui Y ir išsaugoti spausdinimo_grupės_faktai.yaml failą.

Dabar paleiskite spausdinimo_grupės_faktai.yaml pjesė taip:

$ ansible-playbook playbooks / print_group_facts.yaml

Kaip matote, šeimininkai internetas grupė gali pasiekti domeno vardas ir database_backend grupuoti faktai / kintamieji.

Dabar išvalykime inventoriaus failą ir sužinokime, kaip pridėti grupės faktus / kintamuosius į atskirą failą.

Pirmiausia atidarykite šeimininko inventoriaus byla taip:

$ nano faktai

Pašalinkite pažymėtas linijas nuo šeimininko inventoriaus byla. Baigę paspauskite + X paskui Y ir išsaugoti šeimininkai inventoriaus byla.

Pridedant grupės kintamuosius internetas pagrindinę grupę, sukurkite naują failą internetas (tas pats kaip grupės pavadinimas) group_vars / katalogą taip:

$ nano group_vars / internetas

Norėdami pridėti grupės faktus domeno vardas ir database_backendinternetas pagrindinėje grupėje pridėkite šias eilutes group_vars / internetas failą.

domeno_vardas: internetas.linuxhint.com
database_backend: pgsql

Baigę paspauskite + X paskui Y ir išsaugoti group_vars / internetas failą.

Norėdami patikrinti, ar internetas grupė gali pasiekti grupės faktus, paleisti spausdinimo_grupės_faktai.yaml pjesė taip:

$ ansible-playbook playbooks / print_group_facts.yaml

Kaip matote, šeimininkai internetas grupė gali pasiekti domeno vardas ir database_backend grupuoti faktai / kintamieji.

Darbas su galimais priimančiosios faktais:

Šiame skyriuje aš jums parodysiu, kaip apibrėžti galimus pagrindinio kompiuterio faktus / kintamuosius jūsų inventoriaus faile ir pasiekti juos iš jūsų galimų grojaraščių. Taip pat parodysiu, kaip atskirame faile apibrėžti pagrindinius faktus / kintamuosius.

Pirmiausia atidarykite šeimininko inventoriaus failas su šia komanda:

$ nano šeimininkai

Savo inventoriaus faile po pagrindinio kompiuterio DNS pavadinimo arba IP adreso galite pridėti pagrindinius kompiuterio faktus / kintamuosius taip:

www.domenas1.com kintamasis1 = vertė1 kintamasis2 = vertė2
192.168.22.2 kintamasis1 = vertė3 kintamasis2 = vertė4

Pavyzdžiui, galite pridėti pagrindinius faktus / kintamuosius domeno vardas ir database_backend šeimininkams vm3.nodekitas.com ir vm4.nodekitas.com, kaip pažymėta toliau pateiktoje ekrano kopijoje.

Atkreipkite dėmesį, kad domeno vardas ir database_backend faktai / kintamieji kiekvienam kompiuteriui yra skirtingi.

Kai baigsite pridėti pagrindinius faktus / kintamuosius, paspauskite + X, paskui Y ir išsaugoti šeimininko inventoriaus byla.

Kadangi pridėjau tuos pačius faktus / kintamuosius, kaip ir grupės faktų / kintamųjų pavyzdyje, galime naudoti spausdinimo_grupės_faktai.yaml pjesę, kad patikrintumėte ir šių faktų / kintamųjų prieinamumą.

Paleiskite spausdinimo_grupės_faktai.yaml pjesė taip:

$ ansible-playbook playbooks / print_group_facts.yaml

Kaip matote, pagrindinio kompiuterio faktai / kintamieji yra prieinami jų nurodytam pagrindiniam kompiuteriui. Kiekvieno pagrindinio kompiuterio vertės taip pat skiriasi.

Kadangi visi pagrindiniai kompiuteriai yra atskiroje eilutėje mano inventoriaus faile, aš galėčiau lengvai pridėti pagrindinius faktus / kintamuosius savo atsargų byloje. Bet jei naudojate diapazonus, kad apibrėžtumėte pagrindinio kompiuterio aprašą savo atsargų faile, kaip pažymėta toliau pateiktame ekrano kopijoje, negalite pridėti tokių priimančiosios faktų / kintamųjų.

Pagrindiniame kompiuteryje esančius faktus / kintamuosius galite pridėti atskirame faile, lygiai taip pat, kaip darėte visuotiniams ir grupiniams faktams / kintamiesiems.

Norėdami pridėti pagrindinio kompiuterio faktus / kintamuosius vm5.nodekitas.com pagrindinį kompiuterį, sukurkite naują failą vm5.nodekitas.com (tas pats kaip pagrindinio kompiuterio DNS vardas) host_vars / katalogą taip:

$ nano host_vars / vm5.nodekitas.com

Galite pridėti priimančiosios faktus / kintamuosius db_port ir db_name šeimininkui vm5.nodekitas.com su šiomis eilutėmis.

db_port: 3306
db_name: demo1

Baigę paspauskite + X paskui Y ir išsaugoti vm5.nodekitas.com failą.

Tuo pačiu būdu pridėti pagrindinius kompiuterio faktus / kintamuosius vm6.nodekitas.com, sukurti naują failą vm6.nodekitas.com viduje konors host_vars / katalogą taip:

$ nano host_vars / vm6.nodekitas.com

Galite pridėti priimančiosios faktus / kintamuosius db_port ir db_name šeimininkui vm6.nodekitas.com su šiomis eilutėmis.

db_port: 8877
db_name: programa1

Baigę paspauskite + X paskui Y ir išsaugoti vm6.nodekitas.com failą.

Norėdami atsispausdinti ir patikrinti, ar galime pasiekti pagrindinius faktus / kintamuosius, sukurkite naują grojaraštį print_host_facts.yaml viduje konors grojaraščiai / katalogą taip:

$ nano grojaraščiai / print_host_facts.yaml

Dabar įveskite šias eilutes print_host_facts.yaml failą.

- kompiuteriai: duomenų bazė
vartotojas: ansible
užduotys:
- pavadinimas: spausdinkite pagrindinio kompiuterio faktus
derinti:
msg: 'Duomenų bazės pavadinimas: db_name Duomenų bazės prievadas: db_port'

Baigę paspauskite + X paskui Y ir išsaugoti print_host_facts.yaml failą.

Norėdami patikrinti, ar šeimininkas vm5.nodekitas.com ir vm6.nodekitas.com gali pasiekti pagrindinius duomenis / kintamuosius, paleisti print_host_facts.yaml pjesė taip:

$ ansible-playbook playbooks / print_host_facts.yaml

Kaip matote, šeimininkai vm5.nodekitas.com ir vm6.nodekitas.com gali prieiti prie db_name ir db_port pagrindiniai faktai / kintamieji.

Viską sudėjus kartu: pirmenybė teikiama galimiems faktams

Šiame skyriuje kalbėsiu apie galimą faktą / kintamą pirmenybę. Taigi, pradėkime.

Prieš pradėdami, išvalykime inventoriaus bylą.

Atidaryk šeimininko inventoriaus failas su šia komanda:

$ nano šeimininkai

Pašalinkite pažymėtą skyrių iš atsargų bylos.

Štai kaip šiuo metu turėtų atrodyti jūsų atsargų byla.

Dabar pridėkite pažymėtą eilutę į savo atsargų failą. Šios eilutės prideda visuotinius faktus / kintamuosius fact_scope ir uostas.

Tada pridėkite pažymėtas eilutes savo atsargų byloje. Šios eilutės prideda fact_scope ir uostas faktai / kintamieji duomenų bazė grupė.

Galiausiai pridėkite fact_scope ir uostas pagrindiniai faktai / kintamieji vm3.nodekitas.com ir vm4.nodekitas.com kompiuteriai, kaip pažymėta žemiau esančiame ekrano kopijoje.

Baigę paspauskite + X paskui Y ir kad išsaugotumėte atsargų bylą.

Norėdami išspausdinti visuotinių, grupinių ir pagrindinių faktų / kintamųjų vertę, sukurkite naują pjesę faktas_precendencija.yaml viduje konors grojaraščiai / katalogą taip:

„$ nano“ grojaraščiai / faktų_precedencija.yaml

Įveskite šias eilutes faktas_precedencija.yaml failą.

- šeimininkai: visi
vartotojas: ansible
užduotys:
- pavadinimas: atsispausdinkite visus faktus
derinti:
msg: „Faktų apimtis: fact_scope prievadas: port

Baigę paspauskite + X paskui Y ir išsaugoti faktas_precedencija.yaml failą.

Norėdami atsispausdinti visuotinius, grupinius ir pagrindinius duomenis / kintamuosius, paleiskite faktas_precedencija.yaml pjesė taip:

$ ansible-playbook playbooks / fact_precedence.yaml

Kaip matote, atspausdinami visuotiniai, grupiniai ir pagrindiniai faktai / kintamieji.

Atkreipkite dėmesį, kad grupės faktai / kintamieji pakeitė visuotinius faktus / kintamuosius (1). Taip pat atkreipkite dėmesį, kad pagrindiniai faktai / kintamieji pakeitė ir grupinius, ir visuotinius faktus / kintamuosius (2).

„Ansible“ faktas / kintamas prioritetas yra toks:

Priimančiojo faktas> Grupės faktas> Visuotinis faktas

Išvada:

Perskaitę šį straipsnį turėtumėte patogiai dirbti su „Ansible global“, grupiniais ir pagrindiniais faktais / kintamaisiais. Prisiminkite „Ansible custom fact“ pirmenybę. Tai padės lengviau derinti „Ansible“ grojaraščius.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Peržiūrėkite pelės mygtukus skirtingai programinei įrangai naudodami „X-Mouse Button Control“
Galbūt jums reikia įrankio, kuris galėtų pakeisti jūsų pelės valdymą kiekvienoje jūsų naudojamoje programoje. Tokiu atveju galite išbandyti programą, ...
„Microsoft Sculpt Touch“ belaidžio pelės apžvalga
Neseniai skaičiau apie „Microsoft Sculpt Touch“ belaidę pelę ir nusprendė ją nusipirkti. Kurį laiką naudojęs, nusprendžiau pasidalinti savo patirtimi....