Úvod do Ansible: Automatizácia správy serverov jednoducho

Začni s automatizáciou správy serverov pomocou Ansible. Základy, prvé playbooky a praktické tipy pre začiatočníkov.

Úvod do Ansible: Automatizácia správy serverov jednoducho
Photo by James Lee / Unsplash

Prečo Ansible?

Spravovať viacero serverov manuálne cez SSH je udržateľné len chvíľu. Skôr či neskôr nastane chyba, niečo zabudnete, a konfigurácie sa začnú rozchádzať. Tu nastupuje Ansible – jednoduchý, výkonný nástroj na automatizáciu infraštruktúry, ktorý funguje bez agentov a využíva len SSH a Python.

Čo je Ansible?

Ansible je nástroj na správu konfigurácie a automatizáciu procesov. Používa jednoduchý YAML formát na definovanie toho, čo sa má na serveri stať – či už ide o inštaláciu balíčkov, kopírovanie súborov, spúšťanie príkazov alebo nasadzovanie aplikácií.

Hlavné výhody

  • Bez agentov – stačí SSH prístup a Python na serveri
  • Jednoduchá syntax (YAML)
  • Opakovateľné, versionovateľné konfigurácie
  • Veľká komunita a množstvo hotových modulov

Prvé kroky s Ansible

  1. 🛠️ Inštalácia:
    Linux sudo apt install ansible alebo pip install ansible
    MacOS brew install ansible
  2. 📂 Inventory súbor: definujte svoje servery
[servers]
192.168.1.10
192.168.1.11
inventory.ini

Odporúčaná štruktúra projektu:

ansible-demo/
├── inventory.ini
└── install-nginx.yml
  1. ▶️ Spustenie:
    ansible -i inventory.ini web -m ping
    Ak používaš SSH kľúč: ansible -i inventory.ini all -m ping --private-key ~/.ssh/id_rsa

💡 Tip: Ak sa pripojenie nepodarí, skús ssh-copy-id user@server alebo pridaj server do ~/.ssh/known_hosts.

Ukážka jednoduchého playbooku

---
- name: Inštalácia Nginx
  hosts: web
  become: yes
  tasks:
    - name: Nainštaluj nginx
      apt:
        name: nginx
        state: present

🔍 Vysvetlenie: Parameter become: yes znamená, že Ansible použije sudo na vykonanie úloh s administrátorskými právami.

Kedy sa oplatí použiť Ansible?

  • Ak spravujete viac ako 1 server
  • Chcete mať istotu, že všetky majú rovnaké nastavenie
  • Nasadzujete aplikácie, aktualizácie alebo konfigurácie pravidelne
  • Chcete znížiť počet ľudských chýb

Čo ďalej?

Teraz, keď už vieš spustiť svoj prvý playbook, môžeš skúsiť vytvoriť jednoduchú štruktúru projektu:

ansible/
├── inventory.ini
├── playbooks/
│   └── web.yml
└── roles/
    └── nginx/
        ├── tasks/main.yml
        └── templates/

V ďalšom článku si ukážeme, ako fungujú premenné, šablóny (Jinja2) a roles – základné stavebné prvky väčších Ansible projektov.

Ak máš otázky alebo chceš konkrétny príklad z tvojej infraštruktúry, napíš nám!