Praktyczny przewodnik od zera po instalacji Ansible, organizacji plików inventory, pisaniu pierwszego playbooka YAML i orkiestracji zadań serwerowych.
🔗 Related: Podstawowa ściąga z Ansible · Ściąga z ról Ansible · Przykłady playbooków Ansible
Instalacja
# macOS (Homebrew)
brew install ansible
# Ubuntu / Debian
sudo apt update && sudo apt install -y ansible
# Python Pip (Universal)
pip install ansible
Zobacz: Oficjalna dokumentacja instalacji Ansible: Ansible Installation Docs
Konfiguracja projektu
mkdir -p ~/ansible-setup
cd ~/ansible-setup
Utwórz dedykowany katalog roboczy dla inventory, playbooków i definicji zmiennych.
Pliki konfiguracyjne
Plik Inventory
hosts
[webservers]
192.168.0.10
192.168.0.11
[databases]
192.168.0.20
[local]
localhost ansible_connection=local
Pliki inventory definiują węzły docelowe pogrupowane logicznie. Możesz wskazać localhost za pomocą ansible_connection=local, aby testować automatyzację lokalnie bez SSH.
Zobacz: Przewodnik po tworzeniu inventory w Ansible: Ansible How to build your inventory
Definicja Playbooka
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
Wykonywanie
Weryfikacja i uruchamianie
Weryfikacja łączności za pomocą doraźnego polecenia ping:
ansible -i hosts all -m ping
Uruchomienie pełnego playbooka dla wskazanego inventory:
ansible-playbook -i hosts playbook.yml
Uruchomienie testowe (Tryb Check)
Podgląd potencjalnych zmian bez wprowadzania ich na zdalnych węzłach:
ansible-playbook -i hosts playbook.yml --check --diff