Ansiblen ydinkomponenttien ymmärtäminen – Osa 1


Red Hat Certified Specialist in Ansible Automation -koe (EX407) on Red Hatin uusi sertifiointiohjelma, joka testaa taitosi Ansiblen avulla automatisointiin. järjestelmien ja sovellusten konfigurointi.

Sarjan nimi on "The Red Hat Certified Specialist in Ansible Automation -testi (EX407)", ja se kattaa seuraavat kokeen tavoitteet, jotka perustuvat Red Hat Enterprise Linux 7.5:een ja Ansible 2.7, jota käsittelemme tässä Ansible-sarjassa:

Katso maksut ja rekisteröidy kokeeseen maassasi Ansible Automation -koesivulta.

Tässä Ansible -sarjan osassa 1 käsittelemme peruskatsauksen Ansible -ohjelman ydinkomponenteista.

Ansiblen ydinkomponenttien ymmärtäminen

Ansible on RedHatin ilmainen avoimen lähdekoodin automaatioalusta, jonka avulla voit hallita ja ohjata useita palvelimia yhdestä keskeisestä sijainnista. Se on erityisen ihanteellinen, kun sinulla on useita ja toistuvia tehtäviä, jotka on suoritettava. Joten sen sijaan, että kirjautuisit kuhunkin näistä etäsolmuista ja suorittaisit tehtäväsi, voit tehdä sen mukavasti keskeisestä sijainnista ja hallita palvelimia mukavasti.

Tästä on hyötyä, kun haluat säilyttää sovellusten käyttöönoton johdonmukaisuuden, vähentää inhimillisiä virheitä ja automatisoida toistuvia ja jossain määrin arkipäiväisiä tehtäviä.

Ansiblelle on tietysti muitakin vaihtoehtoja, kuten nukke, kokki ja suola. Ansible on kuitenkin useimmiten suositeltavampi, koska se on helppokäyttöinen ja helppo oppia.

Miksi oppiminen on helppoa, saatat kysyä? Tämä johtuu siitä, että Ansible käyttää YAML:ää (Yet Another Markup Language) määritys- ja automaatiotöissään, jotka ovat ihmisen luettavia ja melko helppoja seurata. YAML käyttää SSH-protokollaa kommunikoidakseen etäpalvelimien kanssa, toisin kuin muut automaatioympäristöt, jotka edellyttävät agentin asentamista etäsolmuihin viestiäkseen niiden kanssa.

Ennen kuin aloitamme Ansiblen käytön, on tärkeää, että tutustut joihinkin perusterminologioihin, jotta et eksy tai hämmentyisi eteenpäin.

Varasto

Varasto on tekstitiedosto, joka sisältää luettelon palvelimista tai solmuista, joita hallinnoit ja määrität. Yleensä palvelimet luetellaan niiden isäntänimien tai IP-osoitteiden perusteella.

Inventaario-tiedosto voi sisältää IP-osoitteidensa määrittämiä etäjärjestelmiä kuvan mukaisesti:

10.200.50.50
10.200.50.51
10.200.50.52

Vaihtoehtoisesti ne voidaan listata ryhmien mukaan. Alla olevassa esimerkissä palvelimet on sijoitettu kahteen ryhmään – verkkopalvelimet ja tietokannat. Näin heihin voidaan viitata ryhmien nimien eikä IP-osoitteiden perusteella. Tämä yksinkertaistaa entisestään toimintaprosesseja.

[webservers]
10.200.50.60
10.200.50.61

[databases]
10.200.50.70
10.200.50.71

Sinulla voi olla useita ryhmiä, joissa on useita palvelimia, jos olet suuressa tuotantoympäristössä.

Ohjekirja

Ohjelmakirja on joukko kokoonpanonhallintaohjelmia, jotka määrittävät, kuinka tehtävät suoritetaan etäisännissä tai isäntäkoneryhmässä. Skriptit tai ohjeet on kirjoitettu YAML-muodossa.

Voit esimerkiksi asentaa playbook-tiedoston Apache-verkkopalvelimen CentOS 7:ään ja kutsua sitä nimellä httpd.yml.

Luo pelikirja suorittamalla komento.

touch playbook_name.yml

Jos haluat esimerkiksi luoda pelikirjan nimeltä httpd, suorita komento.

touch httpd.yml

YAML-tiedosto alkaa 3 yhdysviivalla kuvan mukaisesti. Lisää tiedoston sisään seuraavat ohjeet.

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

Yllä oleva ohjekirja asentaa Apache-verkkopalvelimen etäjärjestelmiin, jotka on määritetty luettelotiedostossa verkkopalvelimiksi. Verkkopalvelimen asennuksen jälkeen Ansible tarkistaa myöhemmin, onko Apache-verkkopalvelin käynnistetty ja käynnissä.

Moduulit

Moduulit ovat erillisiä koodiyksiköitä, joita käytetään pelikirjoissa komentojen suorittamiseen etäisännissä tai -palvelimissa. Jokaista moduulia seuraa argumentti.

Moduulin perusmuoto on avain: arvo.

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

Yllä olevassa YAML-koodinpätkässä -name ja yum ovat moduuleja.

Pelaa

Mahdollinen toisto on komentosarja tai ohje, joka määrittää palvelimella suoritettavan tehtävän. Näytelmien kokoelma muodostaa leikkikirjan. Toisin sanoen pelikirja on kokoelma useita näytelmiä, joista jokainen määrittelee selkeästi palvelimella suoritettavan tehtävän. Toistot ovat olemassa YAML-muodossa.

Muuttujat

Jos sinulla on ohjelmoinnin tausta, olet todennäköisesti käyttänyt muuttujia. Periaatteessa muuttuja edustaa arvoa. Muuttuja voi sisältää kirjaimia, numeroita ja alaviivoja, mutta TÄYTYY aina alkaa kirjaimilla.

Muuttujia käytetään, kun ohjeet vaihtelevat järjestelmästä toiseen. Tämä pätee erityisesti määrityksen tai eri palvelujen ja ominaisuuksien aikana.

Muuttujia on 3 päätyyppiä:

  • Ohjekirjan muuttujat
  • Varaston muuttujat
  • Erityiset muuttujat

Mahdollisessa-kohdassa muuttujat määritetään ensin käyttämällä muuttujia k, minkä jälkeen muuttujan nimi ja arvo.

Syntaksi on seuraavanlainen:

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

Harkitse alla olevaa koodia.

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

Yllä olevassa esimerkissä muuttuja tässä on web_directory ja se neuvoo luomaan hakemiston /var/www/html/-polulla.

Faktat

Faktat ovat järjestelmän ominaisuuksia, jotka Ansible kerää, kun se suorittaa pelikirjan isäntäjärjestelmässä. Ominaisuuksiin kuuluu isäntänimi, käyttöjärjestelmäperhe, suorittimen tyyppi ja prosessoriytimet muutamia mainitakseni.

Jos haluat nähdä käytettävissä olevien faktojen määrän, anna komento.

ansible localhost -m setup

Kuten näet, valtava määrä faktoja on näytetty oletuksena. Voit rajata tuloksia edelleen käyttämällä suodatinparametria kuvan mukaisesti.

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

Asetustiedostot

Ansiblessa määritystiedosto on tiedosto, joka sisältää erilaisia parametriasetuksia, jotka määrittävät Ansiblen suoritustavan. Oletusmääritystiedosto on ansible.cfg-tiedosto, joka sijaitsee hakemistossa /etc/ansible/.

Voit tarkastella asetustiedostoa suorittamalla:

cat /etc/ansible/ansible.cfg

Kuten huomaat, mukana on useita parametreja, kuten varasto ja kirjasto-tiedostopolut, sudo-käyttäjä, laajennussuodattimet, moduulit jne. Näitä parametreja voidaan säätää yksinkertaisesti kommentoimalla niitä. ulos ja muuttaa sen arvoja.

Lisäksi sinulla voi olla useita määritystiedostoja, jotka toimivat Ansiblen kanssa oletusasetustiedoston lisäksi.

Yhteenveto

Tutustuttuamme Ansiblen ydinkomponentteihin toivomme, että pystyt pitämään ne käden ulottuvilla ja valitsemaan ne, kun etenemme. Liity meihin seuraavan aiheesi parissa.