Prečítajte si ďalšie informácie o Príručke pre automatizáciu úloh

Prečítajte si ďalšie informácie o Príručke pre automatizáciu úloh.


Predtým sme diskutovali o možnom úvode, sprievodcovi inštaláciou a potom si povedzme o knihe Playbook a jej stavebných blokoch.

Čo je to Možná kniha?

Príručka je možný jazyk automatizácie. Je to jednoduchý súbor so súborom pokynov. To je v knihách kníh, kde definujeme, čo chceme robiť. Príručky obsahujú hry, ktoré spúšťajú úlohy, a tieto úlohy spúšťajú moduly. Ich úlohy sa vykonávajú postupne.

Napríklad to môže byť také jednoduché, ako spustenie série príkazov na rôznych serveroch v poradí a reštartovanie týchto serverov v poradí. Alebo by to mohlo byť také zložité, ako je nasadenie a poskytovanie stoviek virtuálnych počítačov vo verejnom a súkromnom cloude vrátane vyrovnávania záťaže, monitorovania, sieťových nastavení..

Jazyk knihy

Príručky sú jednoduché súbory napísané v kóde YAML.

Yamli je jazyk na serializáciu údajov. Je čitateľný človekom a strojom. Na písanie kódov YAML nepotrebujete žiadne špeciálne zručnosti v oblasti kódovania. Môžete si myslieť, že jazyk na serializáciu údajov je prekladateľom, ktorý rozdeľuje všetky vaše dátové štruktúry a serializuje ich v poradí, ktoré je možné znova rekonštruovať pre ďalšie použitie. Túto zrekonštruovanú dátovú štruktúru môžete použiť v rovnakom prostredí alebo dokonca v inom prostredí.

Nižšie je uvedený ukážkový súbor YAML na inštaláciu mysql:


– name: Nainštalujte MySQL
hostitelia: geekflare-mysql-service
úlohy:
– name: Nainštalujte MySQL
akcia: $ ansible_pkg_mgr pkg = mysql-server state = nainštalovaný
– name: Pridajte Python MySQL DB
akcia: $ ansible_pkg_mgr pkg = python-mysqldb state = nainštalovaný

Možné základy zošity

Táto časť článku sa venuje základným možným konceptom, ktorým je potrebné porozumieť viac o knihe Ansible Playbook.

Hostitelia a používatelia

Možné potreby sa zameriavajú na stroje v infraštruktúre, na ktorých sa hry musia umiestniť zo zoznamu možných hier. Hostitelia sa pridávajú do možného inventára prostredníctvom svojich adries IP. Hostitelia sú zoznamom jednej alebo viacerých skupín alebo vzorov hostiteľov oddelených dvojbodkou. Remote_user obsahuje názov používateľského účtu.


– hostitelia: ProdServers
remote_user: geekflare

premenné

Premenné vám umožňujú zmeniť spôsob fungovania knižky. Môžu byť použité takmer všade v zošite a môžu byť zdedené zo zoznamu, explicitne nastaveného za behu, objaveného na začiatku spustenia zošity. Názov premennej môžete definovať písmenami, číslami a znakmi podčiarknutia, ale musí začínať iba písmenom.

Napríklad port_01 je platná premenná, zatiaľ čo 01_post je neplatná premenná. Tu je príklad premenných v Príručke s možnými účinkami:

vars:
http_port: 80
max_clients: 200

zásoby

Na spustenie príručky je potrebný zoznam cieľov, v ktorých sa má automatizácia uskutočniť. To je to, čo robí inventár. Zoznamy zásob sa dajú zostavovať a ukladať niekoľkými rôznymi spôsobmi, vrátane statických súborov, t. J. Ansible Hosts. Alebo sa môže dynamicky generovať pomocou skriptu inventára, ktorý vytiahne zoznam hostiteľov pre externý zdroj.

Premennú môžete zadať aj ako súčasť zoznamu zásob. Inventáre sú nakoniec zoznamom vecí, ktoré chcete automatizovať.

[Webové servery]
192.168.20.1
192.168.20.2
192.168.20.4
[Dbservers]
172.17.1.56
172.17.1.57

úlohy

Prehráva v rôznych úlohách spustenia knihy. Úloha je zodpovedná za spustenie zodpovedajúcich modulov. Naraz sa môže spustiť iba jedna úloha a úlohy sa vykonajú postupne. Ich úlohy sú napísané v YAML, čo je do značnej miery anglický jazyk.

Napríklad: install package_name, Update software_name atď. Nižšie je uvedený príklad úlohy v Príručke k inštalácii httpd:

úlohy:
– name: Nainštalujte balík httpd
yum: name = httpd state = latest

manipulátory

Obsluhovatelia sú špeciálnym druhom úloh.

Môžu byť spustené úlohou a sú spustené raz na konci hry. Používa sa na odosielanie upozornení, ak dôjde k akejkoľvek zmene v konfiguračnom súbore, napríklad na upozornenie služby, aby spustila apache po inštalácii. Syntax „notifikácie“ sa používa na volanie obsluhy. Nižšie je uvedený príklad obsluhy na reštartovanie apache:


– hostitelia: všetci
úlohy:
– name: uistite sa, že apache je na najnovšej verzii
yum: name = httpd state = latest
oznámiť:
– reštart apache
– name: uistite sa, že je spustený apache (a povoľte ho pri štarte)
service: name = httpd state = start enabled = yes
manipulátory:
– name: reštart apache
service: name = httpd state = restarted

Vytvorte a spustite svoju prvú možnú knihu

Dovoľte mi povedať, ako napísať knihu. Každá hracia kniha začína tromi pomlčkami (-) navrchu.

Prvá vec, ktorú spomeniete v zozname možných kníh, sú hostiteľské počítače, na ktorých chcete knihu spustiť.

Potom môžete spomenúť premenné zhromažďovaním faktov; potom môžete uviesť rôzne úlohy, ktoré chcete vykonať. Teraz nezabudnite, že úloha sa vykoná v rovnakom poradí, v akom ste ich napísali. Napríklad, ak chcete nainštalovať softvér A najskôr a potom softvér B, uistite sa, že prvou úlohou napísanou do príručky je inštalácia softvéru A a ďalšou úlohou je inštalácia softvéru B.

Potom máte v spodnej časti obsluhy. Obslužné programy sú tiež úlohy, ale rozdiel je v tom, aby vykonávali obslužné programy, ktoré potrebujete na spustenie obslužných programov v zozname úloh nejaké spúšťače.

Ukážem vám, ako vytvoriť ansible playbook na inštaláciu a spustenie nginx na hostiteľovi a jeho spustenie.

Vytvorte súbor .yml, do ktorého vložíte svoje kódy YAML na vytvorenie ansible playbook.

gedit nginx.yml

Do tohto súboru vložte nižšie uvedený kód YAML a uložte ho.


– hostitelia: Klient
sudo: áno
vars:
– server_port: 8080

úlohy:
– name: Nainštaluje webový server nginx
apt: pkg = stav nginx = nainštalovaný update_cache = true
oznámiť:
– začnite nginx

manipulátory:
– name: start nginx
service: name = nginx state = start

Vyššie uvedený súbor YAML začína hostiteľmi, chcem spustiť túto knihu na klientskom počítači (klient). IP adresa klienta je už uložená v súbore / etc / ansible / hosts.

Ďalší riadok umožňuje spustenie úloh s oprávneniami sudo.

Potom som definoval server_port ako premennú v tejto príručke.

Potom príde moja prvá úloha v tomto ansible playbook na inštaláciu webového servera Nginx. Táto úloha má tiež oznámený parameter, čo znamená, že po tejto úlohe obsluha s behom.

Nakoniec som napísal obslužný program na spustenie nginx na klientskom počítači.

Teraz, keď už viete, s kódmi YAML v zrozumiteľnej príručke, spustíme príručku. Nižšie je uvedená syntax na spustenie ansible playbook:

ansible-playbook file_name.yml

Teraz spustím ansible playbook, ktorý vytvorím na inštaláciu a spustenie nginx.

[Email protected]: / home / geekflare # ansible-playbook nginx.yml

PLAY [Klient] ************************************************ ********************

ÚLOHA [Zhromažďovacie fakty] ************************************************** ************
ok: [node1]

ÚLOHA [Inštaluje webový server nginx] ************************************************ ****

zmenené: [uzol1]

RUNNING HANDLER [start nginx] ************************************************* ******
ok: [node1]

PLAY RECAP *************************************************** *********************
node1: ok = 3 zmenené = 1 nedosiahnuteľné = 0 neúspešné = 0 preskočené = 0 zachránené = 0 ignorované = 0

Spustite príkaz uvedený nižšie, aby ste skontrolovali, či bol server nginx nainštalovaný a správne spustený pomocou ansible playbook.

[Email protected]: / home / geekflare # ps waux | grep nginx
koreň 3021 0,0 0,0 77676 1516? Ss 15:27 0:00 nginx: hlavný proces / usr / sbin / nginx -g démon zapnutý; master_process on;

záver

To sa týkalo knihy Možných. Dúfam, že vám tento článok pomohol dozvedieť sa, ako môžete vytvoriť a spustiť knihu možných príčin. Vyskúšajte to kurz, ak sa chcete naučiť pokročilé témy v časti Možné, vrátane rolí, Jinja2, Vyhľadávaní, Filtrovania, Vlastných modulov.

Tagy:

  • Ansible

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map