Sobes.tech
Intern

Mi az az Ansible?

sobes.tech MI

Válasz az MI-től

Az Ansible egy nyílt forráskódú, könnyen használható IT-infrastruktúra automatizálási eszköz. Szerverek konfigurálására, alkalmazások telepítésére és feladatok orchestrationjára használják.

Fő jellemzők:

  • Agent nélküli: Nem igényel ügynök telepítést a kezelt csomópontokon. SSH-t (vagy WinRM-et Windows esetén) használ.
  • Idempotens: A műveletek többszöri ismétlése nem változtatja meg a végállapotot, ha az már elért.
  • Egyszerűség: YAML-t használ a playbook-ok írásához, így olvasható és érthető.
  • Modulok: Számos modullal rendelkezik különféle feladatok végrehajtására (csomagok telepítése, fájlok másolása, szolgáltatások kezelése stb.).
  • Bővíthetőség: Könnyen készíthet saját modulokat és plugineket.

Fő komponensek:

  • Control Node: Szerver, amelyről az Ansible parancsokat és playbook-okat futtatják. Általában Linux.
  • Kezeletlen csomópontok: Szerverek vagy eszközök, amelyeket az Ansible segítségével kezel.
  • Inventár: Fájl, amely leírja a kezelt csomópontokat (IP-címek, hosztnevek, csoportok).
    [webservers]
    web1.pelda.com
    web2.pelda.com
    
    [databases]
    db1.pelda.com
    
  • Modulok: Ezek kód egységek, amelyek specifikus feladatokat hajtanak végre a kezelt csomópontokon.
    - name: Nginx telepítése
      ansible.builtin.apt:
        name: nginx
        state: present
    
  • Feladatok: Egy modul hívása meghatározott paraméterekkel. A feladatok szekvenciálisan futnak.
  • Playbook-ok: YAML fájlok, amelyek feladatok halmazát tartalmazzák egy adott cél eléréséhez. Leírják a rendszer kívánt állapotát.
    ---
    - name: Gyártási web szerverek konfigurálása
      hosts: webservers
      become: yes  # Sudo jogokkal futtatni a feladatokat
      tasks:
        - name: A legújabb Apache verzió telepítése
          ansible.builtin.yum:
            name: httpd
            state: latest
        - name: Győződjön meg arról, hogy az Apache fut és indításkor engedélyezve van
          ansible.builtin.service:
            name: httpd
            state: started
            enabled: yes
    
  • Szerepek: A szerepek feladatokat, változókat és sablonokat gyűjtenek újrahasznosítható struktúrákba.

Alkalmazások:

  • Konfigurációkezelés.
  • Alkalmazás telepítés.
  • Infrastruktúra provisioning (pl. virtuális gépek konfigurálása azok létrehozása után).
  • Feladatok orchestrationja (különböző csomópontokon történő szekvenciális végrehajtás).
  • Rutinszerű műveletek automatizálása.