Weboldal keresés

Ismerje meg az Ansible alapvető összetevőit – 1. rész


A A Red Hat Certified Specialist in Ansible Automation vizsga (EX407) a Red Hat új minősítő programja, amely az Ansible automatizáláshoz való készségeit teszteli. rendszerek és alkalmazások konfigurálása.

A sorozat a „The Red Hat Certified Specialist in Ansible Automation vizsga (EX407)” lesz, és a következő vizsgacélokat fedi le a Red Hat Enterprise Linux 7.5 és alapján Ansible 2.7, amelyről ebben az Ansible sorozatban fogunk foglalkozni:

Ha meg szeretné tekinteni a díjakat, és regisztrálni szeretne egy vizsgára az Ön országában, tekintse meg az Ansible Automation vizsgaoldalt.

Az Ansible sorozat ebben az 1. részében az Ansible alapvető összetevőinek néhány alapvető áttekintését tárgyaljuk.

Ismerje meg az Ansible alapvető összetevőit

Az Ansible a RedHat ingyenes, nyílt forráskódú automatizálási platformja, amely lehetővé teszi több szerver kezelését és vezérlését egyetlen központi helyről. Különösen ideális, ha több és ismétlődő feladatot kell végrehajtania. Így ahelyett, hogy mindegyik távoli csomópontba bejelentkezne és feladatait elvégezné, kényelmesen megteheti ezt egy központi helyről, és kényelmesen kezelheti szervereit.

Ez akkor hasznos, ha meg akarja őrizni az alkalmazások telepítésének következetességét, csökkenteni szeretné az emberi hibákat, és automatizálni szeretné az ismétlődő és kissé hétköznapi feladatokat.

Természetesen vannak más alternatívák is az Ansible helyett, például a Puppet, a Chef és a Salt. Az Ansible-t azonban többnyire előnyben részesítik, mert könnyen használható és könnyen megtanulható.

Kérdezhetnéd, miért olyan egyszerű a tanulás? Ennek az az oka, hogy az Ansible a YAML-t (Yet Another Markup Language) használja a konfigurációs és automatizálási feladatok során, amelyek ember által olvashatók és meglehetősen könnyen követhetők. A YAML az SSH protokollt használja a távoli szerverekkel való kommunikációhoz, ellentétben más automatizálási platformokkal, amelyeknél ügynököt kell telepíteni a távoli csomópontokra a velük való kommunikációhoz.

Mielőtt elkezdené az Ansiblet, fontos, hogy ismerkedjen meg néhány alapvető terminológiával, hogy ne tévedjen el vagy ne keveredjen össze, ahogy haladunk.

Leltár

A leltár egy szöveges fájl, amely az Ön által kezelt és konfigurált kiszolgálók vagy csomópontok listáját tartalmazza. Általában a szerverek listája gazdagépnevük vagy IP-címük alapján történik.

Egy leltár fájl tartalmazhat távoli rendszereket, amelyeket IP-címeik határoznak meg, az alábbiak szerint:

10.200.50.50
10.200.50.51
10.200.50.52

Alternatív megoldásként csoportok szerint is fel lehet sorolni őket. Az alábbi példában a szervereinket 2 csoportba soroljuk – webszerverek és adatbázisok. Így a csoportnevük és nem az IP-címük alapján lehet rájuk hivatkozni. Ez tovább egyszerűsíti a működési folyamatokat.

[webservers]
10.200.50.60
10.200.50.61

[databases]
10.200.50.70
10.200.50.71

Ha nagy éles környezetben dolgozik, több csoport is lehet több szerverrel.

Playbook

A playbook konfigurációkezelési szkriptek halmaza, amelyek meghatározzák, hogy a feladatok hogyan legyenek végrehajtva távoli gazdagépeken vagy gazdagépek csoportján. A szkriptek vagy utasítások YAML formátumban vannak megírva.

Például rendelkezhet egy playbook fájllal, amellyel telepítheti az Apache webszervert a CentOS 7 rendszeren, és hívhatja httpd.yml néven.

A játékkönyv létrehozásához futtassa a parancsot.

touch playbook_name.yml

Például egy httpd nevű játékkönyv létrehozásához futtassa a parancsot.

touch httpd.yml

A YAML-fájl 3 kötőjellel kezdődik, ahogy az ábrán látható. Adja hozzá a következő utasításokat a fájlhoz.

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

A fenti playbook telepíti az Apache webszervert a leltárfájlban webszerverként meghatározott távoli rendszerekre. A webszerver telepítése után az Ansible később ellenőrzi, hogy az Apache webszerver elindult-e és fut-e.

Modulok

A modulok különálló kódegységek, amelyeket játékkönyvekben használnak parancsok végrehajtására távoli gazdagépeken vagy szervereken. Minden modult egy argumentum követ.

A modulok alapformátuma a key: value.

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

A fenti YAML kódrészletben a -name és a yum modulok.

Játszik

A lehetséges lejátszás egy szkript vagy utasítás, amely meghatározza a szerveren végrehajtandó feladatot. A színdarabok gyűjteménye játékkönyvet alkot. Más szóval, a játékkönyv több darabból álló gyűjtemény, amelyek mindegyike egyértelműen meghatározza a szerveren végrehajtandó feladatot. A lejátszások YAML formátumban léteznek.

Változók

Ha rendelkezik programozási háttérrel, akkor valószínűleg használt változókat. Alapvetően a változó egy értéket képvisel. Egy változó tartalmazhat betűket, számokat és aláhúzásjeleket, de mindig betűkkel KELL kezdődnie.

A változókat akkor használjuk, ha az utasítások rendszerenként változnak. Ez különösen igaz a konfiguráció vagy a különféle szolgáltatások és szolgáltatások során.

A változóknak 3 fő típusa van:

  • Playbook változók
  • Készletváltozók
  • Speciális változók

Az Ansible menüben a változók először a vars k segítségével kerülnek definiálásra, majd ezt követi a változó neve és az érték.

A szintaxis a következő:

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

Vegye figyelembe az alábbi kódot.

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

A fenti példában a változó itt a web_directory, és egy könyvtár létrehozására utasítja a /var/www/html/ útvonalat.

Tények

A Tények olyan rendszertulajdonságok, amelyeket az Ansible gyűjt össze, amikor egy játékkönyvet futtat egy gazdagépen. A tulajdonságok közé tartozik a gazdagépnév, az operációs rendszer család, a CPU típusa és a CPU magok, hogy néhányat említsünk.

Ha bepillantást szeretne látni a felhasználható tények számába, adja ki a parancsot.

ansible localhost -m setup

Amint láthatja, alapértelmezés szerint rengeteg tény került megjelenítésre. Tovább szűkítheti az eredményeket a szűrőparaméter segítségével, ahogy az ábra mutatja.

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

Konfigurációs fájlok

Az Ansible alkalmazásban a konfigurációs fájl olyan fájl, amely különböző paraméterbeállításokat tartalmaz, amelyek meghatározzák az Ansible futását. Az alapértelmezett konfigurációs fájl az ansible.cfg fájl, amely az /etc/ansible/ könyvtárban található.

A konfigurációs fájlt a következő futtatásával tekintheti meg:

cat /etc/ansible/ansible.cfg

Amint láthatja, számos paraméter szerepel, mint például a leltár és a könyvtár fájl elérési útjai, a sudo-felhasználó, a beépülő modulok szűrői, a modulok stb. Ezeket a paramétereket egyszerűen megjegyzésekkel lehet beállítani. ki és módosítani az abban található értékeket.

Ezenkívül az alapértelmezett konfigurációs fájlon kívül több konfigurációs fájl is működhet az Ansible-vel.

Összegzés

Miután megvizsgáltuk az Ansible alapvető összetevőit, reméljük, hogy kéznél tarthatja őket, és előrehaladva kiválaszthatja őket. Csatlakozzon hozzánk a következő témához.