Un ghid practic de la zero pentru instalarea Ansible, organizarea fișierelor de inventar, scrierea primului playbook YAML și orchestrarea sarcinilor de server.
🔗 Related: Fișă recapitulativă de bază Ansible · Fișă recapitulativă pentru roluri Ansible · Exemple de playbook-uri Ansible
Instalare
# macOS (Homebrew)
brew install ansible
# Ubuntu / Debian
sudo apt update && sudo apt install -y ansible
# Python Pip (Universal)
pip install ansible
Vezi: Documentația oficială de instalare Ansible: Ansible Installation Docs
Configurarea proiectului
mkdir -p ~/ansible-setup
cd ~/ansible-setup
Creați un director de lucru dedicat pentru inventar, playbook-uri și definițiile variabilelor.
Fișiere de configurare
Fișier de inventar (Inventory)
hosts
[webservers]
192.168.0.10
192.168.0.11
[databases]
192.168.0.20
[local]
localhost ansible_connection=local
Inventarele definesc nodurile țintă grupate logic. Puteți viza localhost folosind ansible_connection=local pentru a testa automatizarea local fără SSH.
Vezi: Ghidul Ansible pentru construirea inventarului: Ansible How to build your inventory
Definirea Playbook-ului
playbook.yml
---
- name: Basic Server Provisioning
hosts: webservers
become: true
tasks:
- name: Update apt package cache
apt:
update_cache: yes
cache_valid_time: 3600
- name: Ensure Nginx is installed
apt:
name: nginx
state: present
- name: Start Nginx and enable on boot
service:
name: nginx
state: started
enabled: yes
- name: Create hello world banner
shell: echo "Managed by Ansible" > /tmp/motd.txt
Execuție
Validare și rulare
Verificați conectivitatea prin ping ad-hoc:
ansible -i hosts all -m ping
Rulați playbook-ul complet pe inventarul configurat:
ansible-playbook -i hosts playbook.yml
Rulare de test (Modul Check)
Previzualizați modificările potențiale fără a le aplica nodurilor la distanță:
ansible-playbook -i hosts playbook.yml --check --diff