Možné

Ako používať možné vlastné fakty

Ako používať možné vlastné fakty
Fakty sú ako premenné v časopise Ansible. Ansible generuje veľa faktov, v závislosti od hostiteľa, ktorého automatizuje. Ak potrebujete, v Ansible môžete tiež definovať vlastné fakty / premenné.

V aplikácii Ansible môžete definovať tri typy vlastných faktov.

1) Globálne fakty: Tieto fakty sú prístupné z každého hostiteľa vo vašom inventárnom súbore.
2) Skupinové fakty: Tieto fakty sú prístupné iba konkrétnej skupine hostiteľov alebo skupine hostiteľov.
3) Informácie o hostiteľovi: Tieto fakty sú prístupné iba konkrétnemu hostiteľovi.

V tomto článku vám ukážem, ako pracovať s vlastnými faktami Ansible. Takže poďme na to.

Predpoklady:

Ak si chcete vyskúšať príklady tohto článku,

1) Musíte mať v počítači nainštalovaný program Ansible.
2) Musíte mať aspoň 6 hostiteľov Linuxu nakonfigurovaných na automatizáciu Ansible.

Existuje veľa článkov o LinuxHint venovaných inštalácii Ansible a konfigurácii hostiteľov pre automatizáciu Ansible. V prípade potreby ich môžete skontrolovať.

Nastavenie adresára projektu:

Predtým, ako začneme, vytvorme adresár projektu, aby sme mohli usporiadať súbory projektu.

Vytvorenie adresára projektu zvykové fakty / vo vašom DOMOV adresára, spustite nasledujúci príkaz:

$ mkdir -pv custom-Facts / Playbooks, host_vars, group_vars

Teraz prejdite na ikonu zvykové fakty / adresár takto:

$ cd vlastné fakty /

Vytvorte konfiguračný súbor Ansible zodpovedné.porov v adresári projektu nasledovne:

$ nano zodpovedné.porov

Do nasledujúcich riadkov zadajte svoj zodpovedné.porov spis.

[predvolené hodnoty]
inventár = hostitelia
host_key_checking = False

Po dokončení stlačte + X nasledovaný Y a zachrániť zodpovedné.porov konfiguračný súbor.

Teraz vytvorte súbor zásob Ansible hostitelia v adresári projektu nasledovne:

$ nano hostitelia

Zadajte nasledujúce riadky do súboru hostiteľa inventárny súbor.

vm1.nodekite.com
vm2.nodekite.com
[web]
vm3.nodekite.com
vm4.nodekite.com
[databáza]
vm [5: 6].nodekite.com

Po dokončení stlačte + X nasledovaný Y a zachrániť hostitelia inventárny súbor.

Ak chcete uviesť zoznam všetkých dostupných hostiteľov v súbore inventára, spustite nasledujúci príkaz:

$ ansible všetci --list-hosts

Ako vidíte, v inventárnom súbore mám šesť hostiteľov.

Ak chcete zobraziť zoznam hostiteľov dostupných v serveri web skupiny inventárneho súboru, spustite nasledujúci príkaz:

$ ansible web --list-hosts

Ako vidíte, mám dvoch hostiteľov (vm3.nodekite.com a vm4.nodekite.com) v web skupina môjho inventárneho súboru.

Ak chcete zobraziť zoznam hostiteľov dostupných v serveri databázy skupiny inventárneho súboru, spustite nasledujúci príkaz:

$ ansible database --list-hosts

Ako vidíte, mám dvoch hostiteľov (vm5.nodekite.com a vm6.nodekite.com) v databázy skupina môjho inventárneho súboru.

Práca s možnými globálnymi faktami:

V tejto časti vám ukážem, ako definovať možné globálne fakty / premenné v súbore inventára a ako k nim pristupovať zo svojich príručiek Ansible. Ukážem vám tiež, ako definovať globálne fakty / premenné v samostatnom súbore.

Najskôr otvorte hostiteľa inventárny súbor s nasledujúcim príkazom:

$ nano hostitelia

Teraz pridajte označené riadky do súboru hostiteľa inventárny súbor. Po dokončení stlačte + X nasledovaný Y a súbor uložiť.

Globálne fakty pridávate do všetky: vars oddiel. Tu som pridal web_url globálny fakt.

Teraz vytvorte nový playbook print_global_fact.yaml v knihy o hre / adresár takto:

$ nano playbooks / print_global_fact.yaml

Potom zadajte nasledujúce riadky do súboru print_global_fact.yaml spis.

- hostitelia: všetci
užívateľ: zodpovedný
úlohy:
- name: Vytlačiť hodnotu globálneho faktu 'web_url'
ladenie:
msg: 'Webová adresa URL: web_url'

Účelom tejto príručky je vytlačiť web_url globálny fakt.

Po dokončení stlačte + X nasledovaný Y a zachrániť print_global_fact.yaml spis.

Teraz spustite print_global_fact.yaml príručka takto:

$ ansible-playbook playbooks / print_global_fact.yaml

Ako vidíte, všetci hostitelia v mojom inventárnom súbore majú prístup k globálnemu faktu web_url.

Globálne fakty môžete pridať aj do samostatného súboru. Týmto spôsobom môžete udržiavať súbor so zásobami čistý. Pozrime sa, ako na to.

Najskôr odstráňte globálne fakty z hostiteľa inventárny súbor.

$ nano hostitelia

Teraz odstráňte označené riadky zo súboru inventára a stlačte + X, nasledovaný Y a uložiť inventárny súbor.

Potom vytvorte nový súbor všetko v group_vars / adresár takto:

$ nano group_vars / všetko

Ak chcete pridať globálny fakt web_url, zadajte nasledujúci riadok do poľa group_vars / all spis.

web_url: https: // www.linuxhint.com

Po dokončení stlačte + X nasledovaný Y a zachrániť group_vars / all spis.

Ak chcete skontrolovať, či máte prístup k globálnemu faktu web_url, spustiť print_global_fact.yaml playbook znova nasledovne:

$ ansible-playbook playbooks / print_global_fact.yaml

Ako vidíte, všetci hostitelia v mojom inventárnom súbore majú prístup k globálnemu faktu web_url.

Fakty o práci s možnými skupinami:

V tejto časti vám ukážem, ako definovať fakty / premenné skupiny Ansible v súbore inventára a ako k nim pristupovať zo svojich kníh Ansible. Ukážem vám tiež, ako definovať skupinové fakty / premenné v samostatnom súbore.

Najskôr otvorte hostiteľa inventárny súbor s nasledujúcim príkazom:

$ nano hostitelia

Ak máte hostiteľskú skupinu skupina1, potom pridáte fakty alebo premenné skupiny pre túto hostiteľskú skupinu do a skupina1: vars časť inventárneho súboru.

[skupina1]

[skupina 1: vars]
premenná1 = hodnota1
premenná2 = hodnota2

Napríklad pridať skupinové fakty / premenné doménové meno a databázové_zakončenia pre web hostiteľskej skupiny, môžete napísať do označených riadkov v súbore inventára.

Po dokončení stlačte + X nasledovaný Y a uložiť inventárny súbor.

Ak chcete vytlačiť a otestovať, či máme prístup k faktom o skupine, vytvorte nový playbook print_group_facts.yaml v knihy o hre / adresár takto:

$ nano playbooks / print_group_facts.yaml

Zadajte nasledujúce riadky do súboru print_group_facts.yaml spis.

- hostitelia: web
užívateľ: zodpovedný
úlohy:
- názov: Vytlačiť údaje o skupine
ladenie:
msg: 'Domain Name: domain_name Database Backend: database_backend' '

Po dokončení stlačte + X nasledovaný Y a zachrániť print_group_facts.yaml spis.

Teraz spustite print_group_facts.yaml príručka takto:

$ ansible-playbook playbooks / print_group_facts.yaml

Ako vidíte, hostitelia v web skupina má prístup k súboru doménové meno a backend databázy skupinové fakty / premenné.

Teraz poďme vyčistiť inventárny súbor a uvidíme, ako pridať skupinové fakty / premenné do samostatného súboru.

Najskôr otvorte hostiteľa nasledujúci inventárny súbor:

$ nano fakty

Odstráňte označené čiary z hostiteľa inventárny súbor. Po dokončení stlačte + X nasledovaný Y a zachrániť hostitelia inventárny súbor.

Keď pridávame skupinové premenné pre web hostiteľská skupina, vytvorte nový súbor web (rovnaký ako názov skupiny) v group_vars / adresár takto:

$ nano group_vars / web

Ak chcete pridať skupinové fakty doménové meno a backend databázy pre web hostiteľská skupina, pridajte nasledujúce riadky do súboru group_vars / web spis.

názov_domény: web.linuxhint.com
backend databázy: pgsql

Po dokončení stlačte + X nasledovaný Y a zachrániť group_vars / web spis.

Ak chcete skontrolovať, či hostitelia v web skupina môže získať prístup k skupinovým skutočnostiam, spustiť print_group_facts.yaml príručka takto:

$ ansible-playbook playbooks / print_group_facts.yaml

Ako vidíte, hostitelia v web skupina má prístup k súboru doménové meno a backend databázy skupinové fakty / premenné.

Práca s možnými faktami o hostiteľovi:

V tejto časti vám ukážem, ako definovať fakty / premenné hostiteľa Ansible v súbore inventára a ako k nim pristupovať zo svojich kníh Ansible. Ukážem vám tiež, ako definovať fakty alebo premenné hostiteľa v samostatnom súbore.

Najskôr otvorte hostiteľa inventárny súbor s nasledujúcim príkazom:

$ nano hostitelia

Fakty / premenné hostiteľa môžete pridať za názov DNS alebo IP adresu hostiteľa do súboru inventára takto:

www.doména1.com premenná1 = hodnota1 premenná2 = hodnota2
192.168.22.2 premenná1 = hodnota3 premenná2 = hodnota4

Môžete napríklad pridať fakty alebo premenné hostiteľa doménové meno a backend databázy pre hostiteľov vm3.nodekite.com a vm4.nodekite.com, ako je vyznačené na snímke obrazovky nižšie.

Všimnite si, že hodnota doménové meno a backend databázy fakty / premenné sú pre každého hostiteľa odlišné.

Po dokončení pridávania skutočností / premenných hostiteľa stlačte + X, nasledovaný Y a zachrániť hostiteľa inventárny súbor.

Pretože som pridal rovnaké fakty / premenné ako v príklade skupiny fakty / premenné, môžeme použiť print_group_facts.yaml príručka na testovanie prístupnosti aj týchto skutočností / premenných.

Spustiť print_group_facts.yaml príručka takto:

$ ansible-playbook playbooks / print_group_facts.yaml

Ako vidíte, fakty alebo premenné o hostiteľovi sú prístupné ich určenému hostiteľovi. Hodnoty sa tiež líšia pre každého hostiteľa.

Pretože každý z hostiteľov je v mojom inventárnom súbore v samostatnom riadku, mohol by som do svojho inventárneho súboru ľahko pridať fakty / premenné hostiteľa. Ak však používate rozsahy na definovanie hostiteľov v súbore inventára tak, ako je to vyznačené na snímke obrazovky nižšie, nemôžete pridať fakty alebo premenné hostiteľa, ako je tento.

Fakty / premenné hostiteľa môžete pridať do samostatného súboru, rovnako ako ste to urobili pre globálne a skupinové fakty / premenné.

Ak chcete pridať hostiteľa fakty / premenné pre vm5.nodekite.com hostiteľ, vytvorte nový súbor vm5.nodekite.com (rovnaký ako názov DNS hostiteľa) v priečinku host_vars / adresár takto:

$ nano host_vars / vm5.nodekite.com

Môžete pridať hostiteľa fakty / premenné db_port a názov_db pre hostiteľa vm5.nodekite.com s nasledujúcimi riadkami.

db_port: 3306
db_name: demo1

Po dokončení stlačte + X nasledovaný Y a zachrániť vm5.nodekite.com spis.

Rovnakým spôsobom môžete pridať hostiteľa fakty / premenné vm6.nodekite.com, vytvoriť nový súbor vm6.nodekite.com v host_vars / adresár takto:

$ nano host_vars / vm6.nodekite.com

Môžete pridať hostiteľa fakty / premenné db_port a názov_db pre hostiteľa vm6.nodekite.com s nasledujúcimi riadkami.

db_port: 8877
db_name: app1

Po dokončení stlačte + X nasledovaný Y a zachrániť vm6.nodekite.com spis.

Ak chcete vytlačiť a otestovať, či máme prístup k skutočnostiam / premenným hostiteľa, vytvorte nový playbook print_host_facts.yaml v knihy o hre / adresár takto:

$ nano playbooks / print_host_facts.yaml

Teraz zadajte nasledujúce riadky do súboru print_host_facts.yaml spis.

- hostitelia: databáza
užívateľ: zodpovedný
úlohy:
- názov: Vytlačiť fakty o hostiteľovi
ladenie:
msg: 'Názov databázy: db_name Port databázy: db_port'

Po dokončení stlačte + X nasledovaný Y a zachrániť print_host_facts.yaml spis.

Ak chcete skontrolovať, či je hostiteľ vm5.nodekite.com a vm6.nodekite.com môže pristupovať k skutočnostiam / premenným hostiteľa, spustiť print_host_facts.yaml príručka takto:

$ ansible-playbook playbooks / print_host_facts.yaml

Ako vidíte, hostitelia vm5.nodekite.com a vm6.nodekite.com má prístup k súboru názov_db a db_port hostiteľské fakty / premenné.

Dáme všetko dohromady: možné fakty prednosť

V tejto časti budem hovoriť o možnej skutočnosti / premennej prednosti. Takže poďme na to.

Než začneme, vyčistíme inventárny súbor.

Otvor hostiteľa inventárny súbor s nasledujúcim príkazom:

$ nano hostitelia

Odstráňte označenú časť zo súboru inventára.

Takto by mal v tomto okamihu vyzerať váš inventárny súbor.

Teraz pridajte označený riadok do súboru inventára. Tieto riadky pridávajú globálne fakty / premenné skutočnosť_oblasť a prístav.

Potom pridajte označené riadky do súboru inventára. Tieto riadky pridávajú znak skutočnosť_oblasť a prístav fakty / premenné pre hostiteľov v serveri databázy skupina.

Nakoniec pridajte skutočnosť_oblasť a prístav hostiteľské fakty / premenné pre vm3.nodekite.com a vm4.nodekite.com hostitelia, ako je to vyznačené na snímke obrazovky nižšie.

Po dokončení stlačte + X nasledovaný Y a uložiť inventárny súbor.

Ak chcete vytlačiť hodnotu globálnych, skupinových a hostiteľských faktov / premenných, vytvorte nový playbook skutočnosť_prednosť.yaml v knihy o hre / adresár takto:

$ nano playbooks / fact_precedence.yaml

Zadajte nasledujúce riadky do súboru skutočnosť_prednosť.yaml spis.

- hostitelia: všetci
užívateľ: zodpovedný
úlohy:
- názov: Vytlačiť všetky fakty
ladenie:
msg: 'Fact Scope: fact_scope Port: port'

Po dokončení stlačte + X nasledovaný Y a zachrániť skutočnosť_prednosť.yaml spis.

Ak chcete vytlačiť globálne, skupinové a hostiteľské fakty / premenné, spustite skutočnosť_prednosť.yaml príručka takto:

$ ansible-playbook playbooks / fact_precedence.yaml

Ako vidíte, vytlačia sa globálne, skupinové a hostiteľské fakty / premenné.

Všimnite si, že skupinové fakty / premenné nahradili globálne fakty / premenné (1). Všimnite si tiež, že hostiteľské fakty / premenné nahradili skupinové aj globálne fakty / premenné (2).

Skutočnosť / premenná prednosť príspevku Ansible je nasledovná:

Hostiteľský fakt> Skupinový fakt> Globálny fakt

Záver:

Po prečítaní tohto článku by ste mali byť schopní pohodlne pracovať s globálnymi, skupinovými a hostiteľskými faktami / premennými. Pamätajte na prednosť anible custom fact. Pomôže vám to ľahšie odladiť vaše hracie knižky Ansible.

Hry 5 najlepších arkádových hier pre Linux
5 najlepších arkádových hier pre Linux
V dnešnej dobe sú počítače vážne stroje používané na hranie hier. Ak nemôžete dosiahnuť nové najvyššie skóre, budete vedieť, čo tým myslím. V tomto pr...
Hry Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 Vývoj uvoľnený
Battle For Wesnoth 1.13.6 vydané minulý mesiac, je šiestym vývojovým vydaním v 1.13.séria x a prináša množstvo vylepšení, najmä používateľského rozhra...
Hry Ako nainštalovať League Of Legends na Ubuntu 14.04
Ako nainštalovať League Of Legends na Ubuntu 14.04
Ak ste fanúšikom League of Legends, potom je to pre vás príležitosť otestovať spustenie League of Legends. Upozorňujeme, že program PlayOnLinux podpor...