Sobes.tech
Intern

Mi az az Ansible?

sobes.tech MI

Válasz az MI-től

Az Ansible egy nyílt forráskódú eszköz az IT automatizálására, amelyet konfigurációkezelésre, alkalmazástelepítésre és feladatok orchestrationjára használnak.

Fő fogalmak:

  • Modulok: Kód egységek, amelyek konkrét feladatokat hajtanak végre (csomagok telepítése, fájlok másolása).
  • Playbookok: YAML nyelven írt fájlok, amelyek leírják a végrehajtandó feladatok sorrendjét a hosztokon.
  • Inventár: A hosztok (szerverek) listája, amelyeket az Ansible kezel.

Példa egy playbookra:

---
# Playbook csomag telepítéséhez hosztokon

- name: Nginx telepítése
  hosts: webservers # Az inventárban lévő hosztcsoport
  become: true # Rootként (sudo) végrehajtani

  tasks:
    - name: Győződjön meg arról, hogy az Nginx telepítve van
      apt: # Az apt modul Debian/Ubuntu esetén
        name: nginx
        state: present # Győződjön meg arról, hogy a csomag jelen van
      # Példa megjegyzés a playbook kódban
      # package:
      #  name: nginx
      #  state: present # Alternatíva CentOS/RHEL esetén - a package modul használata

    - name: Indítsa el az Nginx szolgáltatást
      service: # A service modul használata
        name: nginx
        state: started # Győződjön meg arról, hogy a szolgáltatás fut
        enabled: yes # Győződjön meg arról, hogy a szolgáltatás indításkor elindul

Fő előnyök:

  • Agent nélküli: Nem igényel agent telepítést a kezelendő hosztokra, SSH-t használ.
  • Egyszerű szintaxis: A playbookok YAML-ben íródtak, könnyen olvashatók.
  • Idempotencia: A playbook többszöri futtatása ugyanazt az eredményt eredményezi.
  • Bővíthetőség: Nagy mennyiségű beépített modul és saját modulok írásának lehetősége.

Alkalmazások:

  • Szerverek konfigurálása.
  • Alkalmazások telepítése.
  • Bonyolult munkafolyamatok orchestrationja.
  • Rutinszerű IT feladatok automatizálása.