Ansible Workshop – Επισκόπηση
Επισκόπηση
Αυτό το workshop καλύπτει τη διαδρομή από τις βασικές αρχές του agentless automation έως την ασφαλή, ελέγξιμη χρήση του Ansible στην καθημερινή λειτουργία μιας ομάδας. Η δομή του ακολουθεί το Kubernetes workshop: τεκμηρίωση στο docs/, τέσσερα επίπεδα στο workshops/, ασκήσεις στο exercises/, assessments και ενδεικτικές λύσεις στο assessments/, εκτελέσιμα παραδείγματα στο examples/ και βοηθητικά scripts στο scripts/.
Η ύλη εστιάζει σε inventories, playbooks, modules, idempotence, roles, collections, Vault, ελέγχους CI, ελεγχόμενα rollouts, τεκμηρίωση της λειτουργίας, AWX/Automation Controller και execution environments.
Γρήγορη εκκίνηση
# Το υλικό του workshop διατίθεται μέσω της Orthevs Academy.
chmod +x scripts/provision_ansible.sh
./scripts/provision_ansible.sh --dry-run
sudo ./scripts/provision_ansible.sh
ansible --version
Ξεκινήστε από εδώ:
Σε ποιους απευθύνεται
Το workshop απευθύνεται σε developers με ευθύνη λειτουργίας συστημάτων, system engineers, DevOps engineers, platform engineers, SREs, διαχειριστές συστημάτων, τεχνικούς υπευθύνους και security engineers.
Διαδρομή μάθησης
| Επίπεδο | Αντικείμενο | Μαθησιακό αποτέλεσμα |
|---|---|---|
| Fundamentals | Control node, inventory, ad-hoc commands, πρώτο playbook, modules, handlers, idempotence, check/diff | Μπορείτε να αυτοματοποιείτε μικρά labs με ασφάλεια και να επαληθεύετε τα αποτελέσματα. |
| Intermediate | Variables, facts, templates, roles, includes, blocks και βασική χρήση του Vault | Οργανώνετε playbooks που συντηρούνται και επαναχρησιμοποιούνται εύκολα. |
| Professional | Πρότυπα εργασίας της ομάδας, collections, CI, Molecule, orchestration, πολλαπλά inventories και runbooks | Χρησιμοποιείτε το Ansible ως κοινό μοντέλο εργασίας και λειτουργίας. |
| Advanced + Security | Threat modeling, least privilege, ροές secrets, supply chain, execution environments και security review | Αξιολογείτε κινδύνους και ορίζετε ασφαλή όρια για το automation. |
Δομή του υλικού
Δομή του workshop
.
├── assessments/
├── docs/
├── examples/
├── exercises/
├── media/
│ └── pics/
├── scripts/
├── workshops/
├── LICENSE.md
└── README-EL.md
Προαπαιτούμενα
- Βασικές γνώσεις Linux, SSH και YAML
- Πρόσβαση σε Linux shell με Python 3
- Git και έναν editor
- Προαιρετικά: δύο τοπικά test VMs ή containers, ώστε τα managed nodes να μοιάζουν περισσότερο με πραγματικό περιβάλλον
Τρόπος εργασίας
Για κάθε ουσιαστική αλλαγή, ελέγξτε το inventory και το scope, τη σύνταξη, τα αποτελέσματα των check mode και diff mode, το αποτέλεσμα της εκτέλεσης, το idempotence στη δεύτερη εκτέλεση και τις σημειώσεις cleanup.
Άδεια χρήσης
Εκτός αν αναφέρεται διαφορετικά, το εκπαιδευτικό υλικό διατίθεται με την άδεια CC BY-NC-SA 4.0. Οι εικόνες και τα οπτικά αρχεία στο media/ εξαιρούνται και επιτρέπεται να προβάλλονται μόνο ως μέρος αυτού του workshop.
Αναλυτικός προσανατολισμός
Πώς να χρησιμοποιήσετε αυτό το workshop
Μην ξεκινήσετε με ένα τυχαίο playbook. Διαβάστε πρώτα το curriculum, έπειτα το αντίστοιχο επίπεδο του workshop, στη συνέχεια το παράδειγμα και τέλος την άσκηση. Έτσι το Ansible παραμένει οργανωμένη διαδρομή μάθησης αντί για ασύνδετη συλλογή εντολών: τα concepts εξηγούν τους όρους, τα επίπεδα του workshop παρουσιάζουν τη ροή εργασίας, τα παραδείγματα δείχνουν μικρές υλοποιήσεις, οι ασκήσεις απαιτούν δική σας εφαρμογή και τα assessments ελέγχουν αν το αποτέλεσμα μπορεί να αξιολογηθεί.
Τι περιλαμβάνει μια ολοκληρωμένη εργασία Ansible
| Παραδοτέο | Σκοπός |
|---|---|
inventory/hosts.yml |
Περιγράφει targets, ομάδες και στοιχεία σύνδεσης. |
playbooks/site.yml |
Ορίζει την επιθυμητή κατάσταση ή μια διαγνωστική ροή. |
roles/ |
Οργανώνει επαναχρησιμοποιήσιμα tasks. |
group_vars/ και host_vars/ |
Χωρίζει τις πηγές δεδομένων και κάνει ορατό το variable precedence. |
collections/requirements.yml |
Καθορίζει τις εκδόσεις εξωτερικών dependencies. |
evidence.md |
Τεκμηριώνει scope, check mode, diff, εκτέλεση και δεύτερη εκτέλεση. |
cleanup.md |
Εξηγεί το cleanup ή την ελεγχόμενη αποδοχή της τελικής κατάστασης. |
Ελάχιστη ασφαλής ροή
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --list-hosts
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
ansible-playbook -i inventory/hosts.yml playbooks/site.yml
Ερωτήσεις ελέγχου πριν από χρήση σε περιβάλλον που μοιάζει με production
- Είναι το inventory σαφές και versioned;
- Είναι οι ομάδες targets στενότερες από το
all; - Προστατεύονται τα secrets και παραμένουν εκτός logs;
- Ενεργοποιείται το
becomeμόνο όπου χρειάζεται; - Έχουν καθοριστεί και ελεγχθεί οι εκδόσεις των collections;
- Είναι η δεύτερη εκτέλεση idempotent;
- Περιγράφεται ρεαλιστικά το rollback ή το fix-forward;
- Τεκμηριώνονται μετά την εκτέλεση οι ανάγκες monitoring και evidence;
Σχέση με άλλα εργαλεία
Το Ansible δεν αντικαθιστά κάθε εργαλείο υποδομής. Το Terraform ή το OpenTofu είναι συνήθως καταλληλότερα για declarative provisioning πόρων cloud. Τα Kubernetes-native εργαλεία εξυπηρετούν καλύτερα τη διαχείριση πόρων μέσα σε cluster. Το Ansible είναι ιδιαίτερα χρήσιμο όταν υπάρχοντα συστήματα, ρυθμίσεις, services, αρχεία, users, συσκευές δικτύου ή platform APIs πρέπει να αυτοματοποιηθούν με ροές εργασίας που μπορούν να ελεγχθούν.
Αρχή ασφάλειας
Το Ansible μπορεί να πραγματοποιήσει εκτεταμένες αλλαγές με υψηλά privileges. Γι’ αυτό ο σημαντικότερος έλεγχος ασφάλειας είναι ένα σαφές μοντέλο εργασίας: περιορισμένο scope, ελεγμένα credentials, ελάχιστα αναγκαία privileges, απουσία πραγματικών secrets από το Git και τα logs, ελεγμένα collections, CI gates και τεκμηριωμένη έγκριση για τις λειτουργικές αλλαγές.