Úvod do Ansible: Automatizácia správy serverov jednoducho
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
- 🛠️ Inštalácia:
Linuxsudo apt install ansiblealebopip install ansible
MacOSbrew install ansible - 📂 Inventory súbor: definujte svoje servery
[servers]
192.168.1.10
192.168.1.11
Odporúčaná štruktúra projektu:
ansible-demo/
├── inventory.ini
└── install-nginx.yml
- ▶️ 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!