Praxisnahe Anleitung von Null auf Hundert zur Installation von Ansible, Strukturierung von Inventardateien, Erstellung Ihres ersten YAML-Playbooks und Orchestrierung von Serveraufgaben.
🔗 Related: Ansible Basis-Spickzettel · Ansible Roles Spickzettel · Ansible Playbook Beispiele
Installation
# macOS (Homebrew)
brew install ansible
# Ubuntu / Debian
sudo apt update && sudo apt install -y ansible
# Python Pip (Universal)
pip install ansible
Siehe: Offizielle Ansible-Installationsdokumentation: Ansible Installation Docs
Projekteinrichtung
mkdir -p ~/ansible-setup
cd ~/ansible-setup
Erstellen Sie ein dediziertes Arbeitsverzeichnis für Ihr Inventar, Ihre Playbooks und Variablendefinitionen.
Konfigurationsdateien
Inventardatei (Inventory)
hosts
[webservers]
192.168.0.10
192.168.0.11
[databases]
192.168.0.20
[local]
localhost ansible_connection=local
Inventare definieren Zielknoten in logischen Gruppen. Mit ansible_connection=local können Sie localhost ansteuern, um Automatisierungen lokal ohne SSH zu testen.
Siehe: Ansible-Leitfaden zum Aufbau von Inventaren: Ansible How to build your inventory
Playbook-Definition
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
Ausführung
Validieren und Ausführen
Verbindung mittels Ad-hoc-Ping überprüfen:
ansible -i hosts all -m ping
Das vollständige Playbook für das angegebene Inventar ausführen:
ansible-playbook -i hosts playbook.yml
Testlauf (Check-Modus)
Mögliche Änderungen in der Vorschau anzeigen, ohne sie auf entfernten Knoten anzuwenden:
ansible-playbook -i hosts playbook.yml --check --diff