Πρακτικός οδηγός από το μηδέν για την εγκατάσταση του Ansible, την οργάνωση αρχείων inventory, τη συγγραφή του πρώτου σας YAML playbook και την ενορχήστρωση εργασιών διακομιστή.
🔗 Related: Βασικό Cheat Sheet Ansible · Cheat Sheet για Ansible Roles · Παραδείγματα Ansible Playbooks
Εγκατάσταση
# macOS (Homebrew)
brew install ansible
# Ubuntu / Debian
sudo apt update && sudo apt install -y ansible
# Python Pip (Universal)
pip install ansible
Δείτε: Επίσημη τεκμηρίωση εγκατάστασης Ansible: Ansible Installation Docs
Ρύθμιση έργου
mkdir -p ~/ansible-setup
cd ~/ansible-setup
Δημιουργήστε έναν αποκλειστικό κατάλογο εργασίας για το inventory, τα playbooks και τους ορισμούς μεταβλητών σας.
Αρχεία ρυθμίσεων
Αρχείο Inventory
hosts
[webservers]
192.168.0.10
192.168.0.11
[databases]
192.168.0.20
[local]
localhost ansible_connection=local
Τα inventories ορίζουν κόμβους-στόχους ομαδοποιημένους λογικά. Μπορείτε να στοχεύσετε το localhost χρησιμοποιώντας το ansible_connection=local για τοπικό έλεγχο αυτοματισμού χωρίς SSH.
Δείτε: Οδηγός δημιουργίας inventory στο Ansible: Ansible How to build your inventory
Ορισμός Playbook
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
Εκτέλεση
Επικύρωση και εκτέλεση
Επαλήθευση συνδεσιμότητας μέσω ad-hoc ping:
ansible -i hosts all -m ping
Εκτέλεση του πλήρους playbook έναντι του inventory σας:
ansible-playbook -i hosts playbook.yml
Δοκιμαστική εκτέλεση (Check Mode)
Προεπισκόπηση πιθανών αλλαγών χωρίς εφαρμογή τους στους απομακρυσμένους κόμβους:
ansible-playbook -i hosts playbook.yml --check --diff