Supraskite pagrindinius Ansible komponentus – 1 dalis


Red Hat sertifikuoto Ansible Automation specialisto egzaminas (EX407) yra nauja Red Hat sertifikavimo programa, kuri tikrina jūsų įgūdžius naudoti Ansible automatizavimui. sistemų ir programų konfigūracija.

Serija vadinsis „The Red Hat Certified Specialist in Ansible Automation Exam (EX407)“ ir apims toliau nurodytus egzamino tikslus, pagrįstus Red Hat Enterprise Linux 7.5 ir Ansible 2.7, kurią aptarsime šioje Ansible serijoje:

Norėdami peržiūrėti mokesčius ir užsiregistruoti laikyti egzaminą savo šalyje, apsilankykite Ansible Automation egzamino puslapyje.

Šioje Ansible serijos 1 dalyje aptarsime pagrindinę Ansible pagrindinių komponentų apžvalgą.

Supraskite pagrindinius Ansible komponentus

Ansible yra nemokama atvirojo kodo automatizavimo platforma, sukurta RedHat, kuri leidžia valdyti ir valdyti kelis serverius vienoje centrinėje vietoje. Tai ypač idealu, kai turite atlikti kelias ir pasikartojančias užduotis. Taigi, užuot prisijungę prie kiekvieno iš šių nuotolinių mazgų ir atlikę savo užduotis, galite patogiai tai padaryti iš centrinės vietos ir patogiai valdyti savo serverius.

Tai naudinga, kai norite išlaikyti programų diegimo nuoseklumą, sumažinti žmogiškąsias klaidas ir automatizuoti pasikartojančias ir šiek tiek kasdienes užduotis.

Žinoma, yra ir kitų Ansible alternatyvų, pvz., Lėlė, Šefas ir Druska. Tačiau dažniausiai pirmenybė teikiama Ansible, nes ją lengva naudoti ir lengva išmokti.

Galite paklausti, kodėl lengva išmokti? Taip yra todėl, kad Ansible savo konfigūravimo ir automatizavimo užduotims naudoja YAML (Yet Another Markup Language), kurios yra suprantamos žmonėms ir yra gana lengvai stebimos. YAML naudoja SSH protokolą bendrauti su nuotoliniais serveriais, skirtingai nei kitose automatizavimo platformose, kurioms nuotoliniuose mazguose reikia įdiegti agentą, kad galėtumėte su jais susisiekti.

Prieš pradėdami naudoti Ansible, svarbu susipažinti su kai kuriais pagrindiniais terminais, kad nepasiklystumėte ar nesusipainiotumėte judant į priekį.

Inventorius

Inventorius yra tekstinis failas, kuriame yra jūsų tvarkomų ir konfigūruojamų serverių arba mazgų sąrašas. Paprastai serveriai pateikiami pagal jų pagrindinio kompiuterio pavadinimus arba IP adresus.

Inventoriaus faile gali būti nuotolinių sistemų, apibrėžtų pagal jų IP adresus, kaip parodyta:

10.200.50.50
10.200.50.51
10.200.50.52

Arba jie gali būti suskirstyti į grupes. Toliau pateiktame pavyzdyje serveriai suskirstyti į 2 grupes – žiniatinklio serveriai ir duomenų bazės. Tokiu būdu jie gali būti nurodyti pagal jų grupių pavadinimus, o ne pagal IP adresus. Tai dar labiau supaprastina darbo procesus.

[webservers]
10.200.50.60
10.200.50.61

[databases]
10.200.50.70
10.200.50.71

Jei dirbate didelėje gamybos aplinkoje, galite turėti kelias grupes su keliais serveriais.

Žaidimų knyga

Vaizdų knyga yra konfigūracijos valdymo scenarijų rinkinys, apibrėžiantis, kaip užduotys turi būti vykdomos nuotoliniuose pagrindiniuose kompiuteriuose arba pagrindinių kompiuterių grupėje. Scenarijai arba instrukcijos parašyti YAML formatu.

Pavyzdžiui, galite turėti playbook failą, kad įdiegtumėte „Apache“ žiniatinklio serverį „CentOS 7“ ir pavadintumėte jį httpd.yml.

Norėdami sukurti žaidimų knygą, paleiskite komandą.

touch playbook_name.yml

Pavyzdžiui, norėdami sukurti žaidimų knygą pavadinimu httpd, paleiskite komandą.

touch httpd.yml

YAML failas prasideda 3 brūkšneliais, kaip parodyta. Failo viduje pridėkite šias instrukcijas.

---
- 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

Aukščiau pateiktame žaidybinėje knygoje įdiegiamas Apache žiniatinklio serveris nuotolinėse sistemose, inventoriaus faile apibrėžtose kaip žiniatinklio serveriai. Įdiegus žiniatinklio serverį, Ansible vėliau patikrina, ar Apache žiniatinklio serveris paleistas ir veikia.

Moduliai

Moduliai yra atskiri kodo vienetai, naudojami žaidimų knygelėse komandoms vykdyti nuotoliniuose pagrindiniuose kompiuteriuose arba serveriuose. Po kiekvieno modulio yra argumentas.

Pagrindinis modulio formatas yra key: value.

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

Aukščiau pateiktame YAML kodo fragmente -name ir yum yra moduliai.

Vaidina

Galimas žaidimas yra scenarijus arba instrukcija, apibrėžianti užduotį, kurią reikia atlikti serveryje. Pjesių rinkinys sudaro pjesių knygą. Kitaip tariant, žaidimų knyga yra kelių pjesių rinkinys, kurių kiekvienas aiškiai nurodo užduotį, kurią reikia atlikti serveryje. Groja yra YAML formatu.

Kintamieji

Jei turite programavimo žinių, greičiausiai naudojote kintamuosius. Iš esmės kintamasis reiškia reikšmę. Kintamasis gali apimti raides, skaitmenis ir apatinius brūkšnius, bet visada PRIVALO prasidėti raidėmis.

Kintamieji naudojami, kai instrukcijos įvairiose sistemose skiriasi. Tai ypač aktualu konfigūruojant arba atliekant įvairias paslaugas ir funkcijas.

Yra 3 pagrindiniai kintamųjų tipai:

  • Playbook kintamieji
  • Atsargų kintamieji
  • Specialūs kintamieji

Skiltyje Galimas kintamieji pirmiausia apibrėžiami naudojant vars k, tada nurodomas kintamojo pavadinimas ir reikšmė.

Sintaksė yra tokia, kaip parodyta:

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

Apsvarstykite toliau pateiktą kodą.

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

Anksčiau pateiktame pavyzdyje kintamasis yra žiniatinklio_katalogas ir jis nurodo sukurti katalogą /var/www/html/ kelyje.

Faktai

Faktai yra sistemos ypatybės, kurias „Ansible“ renka, kai pagrindinėje sistemoje vykdo žaidimų knygą. Savybės apima pagrindinio kompiuterio pavadinimą, OS šeimą, procesoriaus tipą ir procesoriaus branduolius.

Norėdami pažvelgti į galimų naudoti faktų skaičių, išduokite komandą.

ansible localhost -m setup

Kaip matote, pagal numatytuosius nustatymus buvo rodoma daugybė faktų. Galite dar labiau susiaurinti rezultatus naudodami filtro parametrą, kaip parodyta.

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

Konfigūracijos failai

Skiltyje Ansible konfigūracijos failas yra failas, kuriame yra skirtingų parametrų nustatymų, kurie nustato, kaip Ansible veikia. Numatytasis konfigūracijos failas yra ansible.cfg failas, esantis /etc/ansible/ kataloge.

Konfigūracijos failą galite peržiūrėti paleisdami:

cat /etc/ansible/ansible.cfg

Kaip matote, įtraukti keli parametrai, pvz., inventoriaus ir bibliotekos failų keliai, sudo vartotojas, papildinio filtrai, moduliai ir kt. Šiuos parametrus galima koreguoti tiesiog komentuojant išjungti ir keisti jame esančias reikšmes.

Be to, su Ansible galite naudoti kelis konfigūracijos failus, išskyrus numatytąjį konfigūracijos failą.

Santrauka

Peržiūrėję pagrindinius Ansible komponentus, tikimės, kad galėsite juos laikyti po ranka ir pasirinkti, kai judėsime į priekį. Prisijunkite prie mūsų kitos temos.