Mõistke Ansible'i põhikomponente - 1. osa


Red Hat'i sertifitseeritud spetsialist anniplikaadi automatiseerimise eksamil (EX407) on Red Hati uus sertifitseerimisprogramm, mis paneb proovile teie oskused kasutada Ansible'i süsteemide ja rakenduste konfiguratsiooni automatiseerimiseks.

Sari kannab pealkirja „Red Hat Certified Specialist in Ansible Automation exam (EX407)“ ja see hõlmab järgmisi Red Hat Enterprise Linux 7.5 ja Ansible 2.7 põhiseid eksamieesmärke, mida käsitleme selles Ansible sarjas:

Tasude vaatamiseks ja oma riigis eksamile registreerimiseks kontrollige Ansible Automation eksami lehte.

Anneri seeria selles 1. osas käsitleme mõnda Ansible'i põhikomponenti.

Ansible on RedHati tasuta ja avatud lähtekoodiga automatiseerimisplatvorm, mis võimaldab teil hallata ja juhtida mitut serverit ühest kesksest asukohast. See on eriti ideaalne, kui teil on mitu ja korduvat ülesannet, mida tuleb täita. Nii et kõigisse nendesse kaugsõlmedesse sisse logimise ja oma ülesannete täitmise asemel saate seda teha mugavalt kesksest asukohast ja mugavalt oma servereid hallata.

See on kasulik, kui soovite säilitada rakenduse juurutamise järjepidevust, vähendada inimlikke vigu ning automatiseerida korduvaid ja mõneti igapäevaseid ülesandeid.

Muidugi on Ansible'l ka muid alternatiive nagu nukk, peakokk ja sool. Enamasti eelistatakse siiski Ansible'i, kuna seda on lihtne kasutada ja seda on lihtne õppida.

Miks on lihtne õppida, võite küsida? Selle põhjuseks on asjaolu, et Ansible kasutab oma konfiguratsiooni- ja automatiseerimistöödes YAML-i (veel üks märgistuskeel), mis on inimestele loetavad ja mida on üsna lihtne jälgida. YAML kasutab kaugserveritega suhtlemiseks SSH-protokolli, erinevalt teistest automaatikaplatvormidest, mis nõuavad, et nendega suhtlemiseks peaksite kaugsõlmedesse agendi installima.

Enne kui hakkame rakendusega Ansible alustama, on oluline, et tutvuksite mõne põhiterminoloogiaga, et te ei eksiks ega segadusse läheks, kui me edasi liigume.

Inventuur on tekstifail, mis sisaldab teie hallatavate ja konfigureeritavate serverite või sõlmede loendit. Tavaliselt on serverid loetletud nende hostinimede või IP-aadresside põhjal.

Inventuurifail võib sisaldada kaugsüsteeme, mis on määratletud nende IP-aadressidega, nagu näidatud:

10.200.50.50
10.200.50.51
10.200.50.52

Teise võimalusena saab neid loetleda rühmade kaupa. Allpool toodud näites on meil serverid paigutatud 2 rühma - veebiserverid ja andmebaasid. Nii saab neile viidata vastavalt nende rühmade nimedele ja mitte nende IP-aadressidele. See lihtsustab tööprotsesse veelgi.

[webservers]
10.200.50.60
10.200.50.61

[databases]
10.200.50.70
10.200.50.71

Kui olete suures tootmiskeskkonnas, võib teil olla mitu rühma mitme serveriga.

Esitusraamat on konfiguratsioonihalduse skriptide kogum, mis määrab, kuidas kaughostides või hostimasinate rühmas toiminguid täita. Skriptid või juhised on kirjutatud YAML-vormingus.

Näiteks võib teil olla mänguraamatu fail, et installida ApOS-i veebiserver CentOS 7-sse ja kutsuda seda aadressiks httpd.yml.

Esitusraamatu loomiseks käivitage käsk.

$ touch playbook_name.yml

Näiteks esitusraamatu loomiseks nimega httpd käivitage käsk.

$ touch httpd.yml

YAML-fail algab kolme sidekriipsuga, nagu näidatud. Lisage faili sisse järgmised juhised.

---
- name: This installs and starts Apache webserver
  hosts: webservers

  tasks:
  - name: Install Apache Webserver 
    yum:   name=httpd  state=latest

 - name: check httpd status
    service:   name=httpd  state=started

Ülaltoodud mängukiri installib Apache veebiserveri kaugsüsteemidesse, mis on inventeerimisfailis määratletud kui veebiserverid. Pärast veebiserveri installimist kontrollib Ansible hiljem, kas Apache veebiserver on käivitatud ja töötab.

Moodulid on diskreetsed koodiüksused, mida kasutatakse mänguraamatutes käskude täitmiseks kaughostides või serverites. Igale moodulile järgneb argument.

Mooduli põhivorming on võti: väärtus.

- name: Install apache packages 
    yum:   name=httpd  state=present

Ülaltoodud YAML-i koodilõik on -name ja yum moodulid.

Võimalik esitamine on skript või käsk, mis määratleb serveris täidetava ülesande. Näidendite kogu moodustab mänguraamatu. Teisisõnu, mänguraamat on mitme näidendi kogum, millest igaüks sätestab selgelt serveris täidetava ülesande. Mängud eksisteerivad YAML-vormingus.

Kui teil on programmeerimise taust, siis tõenäoliselt kasutasite muutujaid. Põhimõtteliselt tähistab muutuja väärtust. Muutuja võib sisaldada tähti, numbreid ja alakriipe, kuid PEAB alati algama tähtedega.

Muutujaid kasutatakse juhul, kui juhised on süsteemiti erinevad. See kehtib eriti konfiguratsiooni või erinevate teenuste ja funktsioonide ajal.

Muutujaid on 3 peamist tüüpi:

  • Playbooki muutujad
  • Varude muutujad
  • Erimuutujad

Rakenduses Ansible määratletakse muutujad kõigepealt muutuja k abil, seejärel järgneb muutuja nimi ja väärtus.

Süntaks on järgmine:

vars:
Var name1: ‘My first variable’
	Var name2:  ‘My second variable’

Mõelge allolevale koodile.

- hosts: webservers
  vars: 
    - web_directory:/var/www/html/

Ülaltoodud näites on muutuja siin veebikataloog ja see annab võimaluse kataloogi/var/www/html/path kataloogi luua.

Faktid on süsteemi atribuudid, mille Ansible kogub, kui ta hosti süsteemis esitab raamatu. Atribuudid hõlmavad hostinime, OS-i perekonda, protsessori tüüpi ja protsessori südamikke.

Et saada ülevaade kasutatavate faktide arvust, väljastage käsk.

$ ansible localhost -m setup

Nagu näete, on vaikimisi kuvatud tohutul hulgal fakte. Tulemusi saate veelgi kitsendada, kasutades filtri parameetrit, nagu näidatud.

$ ansible localhost -m setup -a "filter=*ipv4"

Funktsioonis Ansible on konfiguratsioonifail fail, mis sisaldab erinevaid parameetrisätteid, mis määravad, kuidas Ansible töötab. Vaikimisi konfiguratsioonifail on fail ansible.cfg, mis asub kataloogis/etc/ansible /.

Konfiguratsioonifaili saate vaadata, käivitades:

$ cat /etc/ansible/ansible.cfg

Nagu näete, on kaasatud mitu parameetrit, näiteks inventari- ja teegifailide teed, sudo kasutaja, pistikprogrammi filtrid, moodulid jne. Neid parameetreid saab reguleerida, lihtsalt kommenteerides neid ja muutes seal olevaid väärtusi.

Lisaks võib teil olla mitu konfiguratsioonifaili, mis töötavad rakendusega Ansible peale vaikimisi konfigureerimisfaili.

Olles vaadanud Ansiblei põhikomponente, loodame, et teil on võimalus neid käeulatuses hoida ja edasiliikumisel välja valida. Liituge meiega oma järgmisel teemal.