Výukový program Ansible - Naučte sa písať knihy Ansible Playbooks



V tomto blogu Ansible Tutorial sa naučíte, ako písať príručky Ansible, príkazy adhoc a vykonávať praktické kroky na nasadenie Nginx na vašom hostiteľskom počítači.

Výukový program Ansible

Dúfam, že ste si prešli mojim predchádzajúcim blogom, aby ste sa učili a najpoužívanejšie terminológie Ansible. Ak ste to neurobili, skontrolujte to, aby ste lepšie pochopili tento Ansible Tutorial.Mali by ste tiež vedieť, že Ansible tvorí rozhodujúcu súčasť ako nástroj na správu konfigurácie, nasadenie a orchestráciu.

Dovoľte mi poskytnúť prehľad tohto „Prípravného kurzu“:





Výukový program Ansible Playbook Školenie DevOps Edureka

Výukový program Ansible - Písanie možných kníh Playbooks

Prípravné knihy v kategórii Ansible sú písané vo formáte YAML. Je to človekom čitateľný jazyk na serializáciu údajov. Bežne sa používa pre konfiguračné súbory. Môže sa tiež použiť v mnohých aplikáciách, kde sa ukladajú údaje.



V prípade Ansible sa takmer každý súbor YAML začína zoznamom. Každá položka v zozname je zoznam párov kľúč / hodnota, ktorý sa bežne nazýva „hash“ alebo „slovník“. Takže musíme vedieť, ako písať zoznamy a slovníky v YAML.

Všetci členovia zoznamu sú riadky začínajúce na rovnakej úrovni odsadenia začínajúce sa „-“ (pomlčka a medzera). Možné sú komplikovanejšie dátové štruktúry, napríklad zoznamy slovníkov alebo zmiešané slovníky, ktorých hodnotami sú zoznamy alebo ich kombinácia.

napr. Zoznam katedier na edureke:



oddelenia: - marketing - predaj - riešenia - písanie obsahu - podpora - produkt

Teraz vám ukážem slovník:

-USA - kontinent: Severná Amerika - hlavné mesto: Washington DC - počet obyvateľov: 319 miliónov

Hostitelia a používatelia:

Pre každú hru v príručke si môžete zvoliť, na ktoré počítače vo svojej infraštruktúre sa majú zamerať a na ktorého vzdialeného používateľa sa majú úlohy plniť. Na zahrnutie hostiteľov do inventára Ansible budeme používať adresy IP hostiteľských počítačov.

Hostiteľmi sú spravidla zoznam jednej alebo viacerých skupín alebo vzorov hostiteľov oddelených dvojbodkami. Vzdialený používateľ je iba názov používateľského účtu.

Premenné:

Aplikácia Ansible používa premenné, ktoré sú definované skôr, aby umožnila väčšiu flexibilitu v knihách a rolách. Môžu byť použité na prepĺňanie množiny daných hodnôt, prístup k rôznym informáciám, ako je názov hostiteľa systému, a nahradenie určitých reťazcov v šablónach konkrétnymi hodnotami.

Ansible už definuje bohatú množinu premenných, individuálnych pre každý systém. Kedykoľvek bude možné v systéme spustené, všetky informácie a informácie o systéme sa zhromaždia a nastavia ako premenné.

Ale existuje pravidlo na pomenovanie premenných. Názvy premenných by mali byť písmená, číslice a podčiarkovníky. Premenné by mali vždy začínať písmenom. Napr. wamp_21, port5 je platný názov premennej, zatiaľ čo 01_port, _server sú neplatné.

Úlohy:

Úlohy vám umožňujú rozdeliť kúsky konfiguračnej politiky na menšie súbory. Úloha zahŕňa stiahnutie z iných súborov. Úlohy v časti Ansible súvisia s anglickým významom.

Napríklad: Inštalácia, aktualizácia atď.

Manipulanti:

Obslužné rutiny sú rovnako ako bežné úlohy v príručke Ansible, ale spúšťajú sa iba v prípade, že úloha obsahuje direktívu upozornenia a tiež naznačuje, že niečo zmenila. Napríklad ak sa zmení konfiguračný súbor, potom úloha odkazujúca na konfiguračný súbor môže upozorniť obslužnú rutinu reštartovania služby.

Poviem vám príklad príručky, ktorá spustí program servera Apache httpd:

----hostitelia: webové servery ktorého: http_port: 80 max_clients: 200 remote_user: koreň úlohy: - názov: uistite sa, že je apache na najnovšej verzii mňam: meno = httpd stav = najnovsi - názov: napíš konfiguračný súbor apache šablóna: src = / srv / httpd.j2 dest = / etc / httpd.conf oznámiť: - reštartujte apache - názov: zabezpečiť, aby bol apache spustený (a povoliť ho pri štarte) služba: meno = stav httpd = spustený povolený = áno manipulanti: - názov: reštartujte apache služba: name = stav httpd = restart

Dúfam, že vás príklad bude spájať so všetkým popisom komponentov príručky, ktorý som spomenul vyššie. Ak vám to stále nie je jasné, nebojte sa, všetky vaše pochybnosti budú zrejmé v neskoršej časti tohto blogu.

Toto je všetko o príručkách. Príručky, ktoré napíšete vy. Ansible vám ale tiež poskytuje širokú škálu modulov, ktoré môžete použiť.

Výukový program Ansible - Moduly

Moduly v Ansible sú idempotentné. Z hľadiska služby RESTful, aby bola operácia (alebo volanie služby) idempotentné, môžu klienti uskutočňovať to isté volanie opakovane, pričom dosahuje rovnaký výsledok. Inými slovami, odoslanie viacerých identických požiadaviek má rovnaký účinok ako odoslanie jednej žiadosti.

V aplikácii Ansible sú rôzne typy modulov

  • Základné moduly
  • doplnky doplnky

Základné moduly

Toto sú moduly, ktoré udržiava hlavný tím Ansible a ktoré sa vždy dodajú spolu so samotným Ansible. Dostanú tiež o niečo vyššiu prioritu pre všetky požiadavky ako požiadavky v úložiskách „komparzu“.

Zdroj týchto modulov hostuje Ansible na GitHub v jadre Ansible-modules.

Doplnkové moduly

Tieto moduly sa momentálne dodávajú s programom Ansible, ale v budúcnosti sa môžu dodať samostatne. Spravuje ich tiež väčšinou komunita Ansible. Vedľajšie moduly sú stále plne použiteľné, môžu však pri problémoch a požiadavkách na načítanie získať o niečo nižšiu mieru odozvy.

Populárne „doplnky“ môžu byť časom povýšené na základné moduly.

Zdroj týchto modulov hosťuje Ansible na GitHub v Ansible-modules-extras.

Napríklad: Jedným z doplnkových modulov v moduloch vzdialenej správy je modul ipmi_power, ktorý je správcom napájania vzdialených počítačov. Na spustenie je potrebný python 2.6 alebo novší a pyghmi.

Tento modul môžete použiť napísaním príkazu adhoc, ako je ten, ktorý som napísal nižšie:

ipmi_power: name = 'test.domain.com' user = 'localhost' heslo = 'xyz' stav = 'na'

Výukový program Ansible - Návratové hodnoty

Možné moduly zvyčajne vracajú dátovú štruktúru, ktorú je možné zaregistrovať do premennej, alebo ju vidieť priamo pri výstupe z programu Ansible. Každý modul môže voliteľne dokumentovať svoje vlastné jedinečné návratové hodnoty.

Niektoré príklady návratových hodnôt sú:

  • changed: vráti sa s boolovskou hodnotou vždy, keď úloha urobí akúkoľvek zmenu.
  • failed: vráti boolovskú hodnotu, ak je úloha neúspešná
  • msg: vráti reťazec so všeobecnou správou odovzdanou používateľovi.

Výukový program Ansible - príkazy AdHoc

Príkazy Adhoc sú jednoduchý jednoriadkový príkaz na vykonanie určitej akcie. Spustené moduly s príkazmi Ansible sú príkazy adhoc.

Napr .:

ansible host -m netscaler -a 'nsc_host = nsc.example.com user = apiuser password = apipass' 

Vyššie uvedený príkaz adhoc používa na deaktiváciu servera modul netscaler. V aplikácii Ansible sú k dispozícii stovky modulov, z ktorých môžete odkazovať a písať príkazy adhoc.

čo je anakonda pre python

No, dosť je všetkých teoretických vysvetlení, dovoľte mi vysvetliť vám Ansible s niekoľkými rukami.

Výukový program Ansible - Hands On

Chystám sa napísať príručku na inštaláciu Nginx na môj uzol / hostiteľský počítač.

Poďme začať :)

Krok 1: Pripojte sa k svojim hostiteľom pomocou SSH. Na to je potrebné vygenerovať verejný kľúč SSH.

Použite nasledujúci príkaz:

ssh-keygen

Generovať kľúč SSH - Ansible Tutorial - Edureka

Ako vidíte na snímke vyššie, príkaz ssh-keygen vygeneroval verejný kľúč SSH.

Krok 2: Ďalšou vašou úlohou je skopírovať verejný kľúč SSH na hostiteľoch. Ak to chcete urobiť, použite nasledujúci príkaz:

ssh-copy-id -i root @

Vyššie uvedená snímka zobrazuje kľúč SSH kopírovaný do hostiteľov.

Krok 3: Uveďte adresy IP svojich hostiteľov / uzlov v inventári.

Použite nasledujúci príkaz:

vi / etc / ansible / hosts

Otvorí sa editor vi, v ktorom môžete uviesť zoznam adries IP vašich hostiteľov. Toto je váš inventár.

Krok 4: Poďme skontrolovať, či bolo nadviazané spojenie.

Snímka vyššie potvrdzuje, že bolo nadviazané spojenie medzi vaším riadiacim zariadením a hostiteľom.

Krok 5: Poďme si teraz napísať príručku na inštaláciu Nginx na hostiteľskom počítači. Playbook môžete písať v editore vi. Za týmto účelom si jednoducho vytvorte svoju príručku pomocou príkazu:

vi

ktorý ide je najlepší pre javu

Nasledujúca snímka zobrazuje moju príručku na inštaláciu Nginx napísanú vo formáte YAML.

Úlohy príručky sú v YAML definované ako zoznam slovníkov a sú vykonávané zhora nadol. Ak máme niekoľko hostiteľov, potom je každá úloha vyskúšaná pre každého hostiteľa predtým, ako prejde k ďalšiemu. Každá úloha je definovaná ako slovník, ktorý môže obsahovať niekoľko klávesov, napríklad „name“ alebo „sudo“, ktoré označujú názov úlohy a to, či vyžaduje oprávnenie sudo.

Premenná Port servera je nastavená tak, aby počúvala na porte TCP 8080 pre prichádzajúce žiadosti.

Tu je prvou úlohou získať balík potrebný na inštaláciu Nginxu a potom ho nainštalovať.Interne Ansible skontroluje, či adresár existuje, a vytvorí ho, ak nie je, inak neurobí nič.

Ďalšou úlohou je nakonfigurovať Nginx.V Nginxe kontexty obsahujú podrobnosti o konfigurácii.

Tu je šablóna súbor, ktorý môžete nasadiť na hostiteľov. Súbory šablón však obsahujú aj niektoré referenčné premenné, ktoré sa získavajú z premenných definovaných ako súčasť príručky Ansible alebo z faktov zhromaždených od hostiteľov. Fakty obsahujúce podrobnosti o konfigurácii sa získavajú zo zdrojového adresára a kopírujú sa do cieľového adresára.

Obslužné rutiny tu definujú akciu, ktorá sa má vykonať až po oznámení úloh alebo zmien stavu. V tejto príručke sme definovali, upozorňujeme: reštartujte obslužný program Nginx, ktorý reštartuje Nginx po skopírovaní súborov a šablón na hostiteľov.

Teraz uložte súbor a ukončite prácu.

Krok 6: Teraz si spustíme túto príručku pomocou nasledujúceho príkazu:

ansible-playbook .yml

Na snímke vyššie vidíme, že našou úlohou je vykonávanie nainštalovaného Nginxu.

Krok 7: Poďme skontrolovať, či je Nginx nainštalovaný na mojom hostiteľskom počítači. Použite nasledujúci príkaz:

ps waux | grep nginx

Na snímke vyššie môžete vidieť, že sú spustené rôzne identifikátory procesov 3555 a 103316, čo zaisťuje, že na vašich hostiteľských počítačoch beží Nginx.

Blahoželáme! Úspešne ste nasadili Nginx na hostiteľa pomocou kníh Ansible. Dúfam, že sa vám čítanie tohto blogu Ansible Tutorial páčilo. Ak máte akékoľvek otázky, obráťte sa na nás v sekcii komentárov nižšie.

Ak ste našli toto Výukový program Ansible „Relevantné, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Certifikačný vzdelávací kurz Edureka DevOps pomáha študentom získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Ansible, Nagios a Git na automatizáciu viacerých krokov v SDLC.