Wiki workshop · Ελληνικά

Διαγράμματα Ansible

Διαγράμματα Mermaid για αρχιτεκτονική, inventory, ροές εκτέλεσης, variables, secrets, CI, rollout και security review.

Παραδείγματα workshop σε ZIP
Πρόοδος μάθησης στη web app

Σημειώστε κεφάλαια ως αναγνωσμένα, δείτε την πρόοδο ανάγνωσης και ολοκληρώστε πρακτικές ενότητες αφού ενεργοποιήσετε την προαιρετική web app. Η πρόοδος του workshop υπολογίζεται από τα κεφάλαια όλων των σελίδων τεκμηρίωσης. Οι επιλογές μένουν σε αυτή τη συσκευή· δεν υπάρχει λογαριασμός ή συγχρονισμός με server. Δεν απαιτείται εγκατάσταση. Η ανάκληση στις Ρυθμίσεις απορρήτου διαγράφει την πρόοδο.

Πρόοδος ανάγνωσης0%
0%
0 / 11 κεφάλαια που διαβάστηκαν
Άλλη γλωσσική έκδοσηΓερμανικά ↗Αγγλικά ↗

Διαγράμματα: Ansible

Ενημέρωση: 15 Ιουλίου 2026

Η σελίδα περιλαμβάνει διαγράμματα κειμένου για την αρχιτεκτονική, τη ροή εκτέλεσης, το μοντέλο roles, τις ροές variables και secrets, το CI και το security review. Τα διαγράμματα γράφονται σε Mermaid και μπορούν να διατηρούνται σε σύστημα version control.

1. Συνολική αρχιτεκτονική

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Συνολική αρχιτεκτονική»

Μια πλήρης επεξεργασία του θέματος «Συνολική αρχιτεκτονική» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Συνολική αρχιτεκτονική»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Συνολική αρχιτεκτονική»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Συνολική αρχιτεκτονική» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Συνολική αρχιτεκτονική»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Συνολική αρχιτεκτονική» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Συνολική αρχιτεκτονική»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Συνολική αρχιτεκτονική»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Συνολική αρχιτεκτονική»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Συνολική αρχιτεκτονική»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Συνολική αρχιτεκτονική» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
01 / 11

2. Ροή εκτέλεσης

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Ροή εκτέλεσης»

Μια πλήρης επεξεργασία του θέματος «Ροή εκτέλεσης» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Ροή εκτέλεσης»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Ροή εκτέλεσης»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Ροή εκτέλεσης» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Ροή εκτέλεσης»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Ροή εκτέλεσης» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Ροή εκτέλεσης»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Ροή εκτέλεσης»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Ροή εκτέλεσης»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Ροή εκτέλεσης»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Ροή εκτέλεσης» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
02 / 11

3. Μοντέλο inventory

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Μοντέλο inventory»

Μια πλήρης επεξεργασία του θέματος «Μοντέλο inventory» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Μοντέλο inventory»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Μοντέλο inventory»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Μοντέλο inventory» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Μοντέλο inventory»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Μοντέλο inventory» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Μοντέλο inventory»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Μοντέλο inventory»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Μοντέλο inventory»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Μοντέλο inventory»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Μοντέλο inventory» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
03 / 11

4. Ροή variables

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Ροή variables»

Μια πλήρης επεξεργασία του θέματος «Ροή variables» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Ροή variables»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Ροή variables»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Ροή variables» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Ροή variables»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Ροή variables» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Ροή variables»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Ροή variables»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Ροή variables»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Ροή variables»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Ροή variables» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
04 / 11

5. Μοντέλο roles

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Μοντέλο roles»

Μια πλήρης επεξεργασία του θέματος «Μοντέλο roles» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Μοντέλο roles»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Μοντέλο roles»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Μοντέλο roles» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Μοντέλο roles»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Μοντέλο roles» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Μοντέλο roles»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Μοντέλο roles»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Μοντέλο roles»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Μοντέλο roles»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Μοντέλο roles» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
05 / 11

6. Ροή secrets

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Ροή secrets»

Μια πλήρης επεξεργασία του θέματος «Ροή secrets» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Ροή secrets»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Ροή secrets»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Ροή secrets» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Ροή secrets»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Ροή secrets» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Ροή secrets»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Ροή secrets»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Ροή secrets»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Ροή secrets»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Ροή secrets» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
06 / 11

7. Ροή CI και review

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Ροή CI και review»

Μια πλήρης επεξεργασία του θέματος «Ροή CI και review» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Ροή CI και review»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Ροή CI και review»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Ροή CI και review» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Ροή CI και review»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Ροή CI και review» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Ροή CI και review»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Ροή CI και review»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Ροή CI και review»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Ροή CI και review»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Ροή CI και review» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
07 / 11

8. Ροή rollout

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Ροή rollout»

Μια πλήρης επεξεργασία του θέματος «Ροή rollout» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Ροή rollout»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Ροή rollout»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Ροή rollout» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Ροή rollout»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Ροή rollout» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Ροή rollout»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Ροή rollout»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Ροή rollout»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Ροή rollout»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Ροή rollout» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
08 / 11

9. Διαδρομή troubleshooting

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Διαδρομή troubleshooting»

Μια πλήρης επεξεργασία του θέματος «Διαδρομή troubleshooting» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Διαδρομή troubleshooting»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Διαδρομή troubleshooting»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Διαδρομή troubleshooting» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Διαδρομή troubleshooting»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Διαδρομή troubleshooting» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Διαδρομή troubleshooting»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Διαδρομή troubleshooting»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Διαδρομή troubleshooting»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Διαδρομή troubleshooting»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Διαδρομή troubleshooting» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
09 / 11

10. Security review

Αναλυτική προσέγγιση και παράδειγμα υποβολής για το θέμα «Security review»

Μια πλήρης επεξεργασία του θέματος «Security review» περιλαμβάνει τεχνικό artifact και σύντομη εξήγηση του πεδίου. Το artifact μπορεί να είναι inventory, playbook, role, template, Vault file με δοκιμαστικές τιμές, CI configuration ή αρχείο evidence. Η εξήγηση τεκμηριώνει γιατί επιλέχθηκε αυτή η διαδρομή και ποια εναλλακτική εξετάστηκε.

Μέρος υποβολής Περιεχόμενο Ελάχιστη ποιότητα
Περιγραφή στόχου Τι πρέπει να ισχύει μετά την εκτέλεση Μετρήσιμο, χωρίς κρυφές παραδοχές
Evidence πεδίου εφαρμογής Ποιοι hosts επηρεάζονται Έξοδος από --list-hosts ή inventory graph
Υλοποίηση Ποια αρχεία άλλαξαν Μικρά YAML files που μπορούν να ελεγχθούν
Validation Πώς ελέγχθηκε Syntax check, check mode, diff, πραγματική και δεύτερη εκτέλεση
Απόφαση κινδύνου Τι μπορεί να πάει στραβά Εξετάζονται privileges, secrets, εξωτερικές εξαρτήσεις και rollback

Ελάχιστα artifacts για το θέμα «Security review»

text
submission/
  inventory/hosts.yml
  playbooks/site.yml
  evidence.md
  cleanup.md

Για roles ή collections, η δομή επεκτείνεται:

text
submission/
  ansible.cfg
  collections/requirements.yml
  inventory/hosts.yml
  roles/<role>/defaults/main.yml
  roles/<role>/tasks/main.yml
  roles/<role>/handlers/main.yml
  playbooks/site.yml
  evidence.md

Αναμενόμενα κριτήρια βαθμολόγησης για το θέμα «Security review»

Μια λύση που μπορεί να ελεγχθεί πρέπει να είναι κατανοητή και σε άτομα που δεν την εκτέλεσαν. Screenshots ή έξοδος terminal χωρίς σχόλια δεν αρκούν. Καλό evidence δηλώνει context, command, σχετική έξοδο και αξιολόγηση. Αν ένα module συμπεριφέρεται διαφορετικά στο check mode, ο περιορισμός τεκμηριώνεται ρητά.

Μεταφορά σε πραγματικές ομάδες

Σε ομαδικό πλαίσιο, το θέμα «Security review» συνδέεται με code review, branch rules, CI, ευθύνη για roles, release notes και λειτουργική έγκριση. Χρήση κοντά σε production τεκμηριώνει επίσης υπεύθυνους, maintenance window, monitoring, alerting και κριτήρια rollback.

Πρακτική σημασία του θέματος «Security review»

Η ενότητα δεν είναι απλώς ορισμός. Στο workshop, το θέμα «Security review» ελέγχεται με συγκεκριμένη ροή: εξετάστε το inventory, αποδείξτε τους target hosts, ελέγξτε το playbook, προσομοιώστε την αλλαγή, εκτελέστε την, αξιολογήστε δεύτερη εκτέλεση και τεκμηριώστε το cleanup. Έτσι φαίνεται αν το Ansible μοντελοποιεί πράγματι desired state ή αν μια εντολή πέτυχε μόνο μία φορά.

Ερώτηση review Αναμενόμενη απάντηση
Ποιοι hosts επηρεάζονται; Τεκμηριώνονται pattern, group, --limit και έξοδος inventory.
Ποιες πηγές δεδομένων ισχύουν; Είναι γνωστά group_vars, host_vars, defaults, extra vars και facts.
Ποια privileges απαιτούνται; Το become εφαρμόζεται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται.
Πώς αποδεικνύεται η επιτυχία; Υπάρχουν syntax check, check mode, diff, play recap και δεύτερη εκτέλεση.

Παράδειγμα ροής για το θέμα «Security review»

bash
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

Η ροή είναι σκόπιμα πλήρης. Σε πραγματικές ομάδες, ορισμένα βήματα αυτοματοποιούνται αλλά δεν παραλείπονται. Το CI μπορεί να εκτελεί syntax checks και linting· ο έλεγχος πεδίου εφαρμογής, privileges, ροών secrets και κινδύνου rollout παραμένει ανθρώπινο engineering task.

Κριτήρια review για το θέμα «Security review»

  • Το inventory και τα patterns είναι στενότερα από το all, εκτός αν τεκμηριώνεται λόγος.
  • Προτιμώνται modules από ansible.builtin ή ελεγμένες collections.
  • Τα shell ή command tasks περιλαμβάνουν changed_when, failed_when ή σαφή αιτιολόγηση.
  • Οι variables τοποθετούνται προβλέψιμα και δεν αλληλοκαλύπτονται απροσδόκητα.
  • Τα secrets δεν εμφανίζονται ως plaintext, σε diffs, debug tasks ή CI logs.
  • Το playbook μπορεί να εκτελείται επανειλημμένα χωρίς περιττές αλλαγές.
  • Τεκμηριώνεται cleanup, fix-forward ή ελεγχόμενη αποδοχή του target state.

Συνηθισμένες αστοχίες για το θέμα «Security review»

Αστοχία Αιτία Διάγνωση
Στοχεύθηκαν λάθος hosts Παρανοήθηκε το pattern ή το inventory --list-hosts, ansible-inventory --host
unreachable Πρόβλημα SSH, user, Python ή δικτύου -vvvv, δοκιμή SSH, inventory variables
Απρόσμενη αλλαγή Το module δεν είναι idempotent ή η πηγή δεδομένων είναι λάθος Δεύτερη εκτέλεση, diff, έλεγχος variables
Διαρροή secret Debug, diff ή log χωρίς κατάλληλο περιορισμό Ελέγξτε no_log, Vault και CI artifacts.
Δεν εκτελείται handler Δεν υπάρχει αποτέλεσμα changed ή το όνομα του handler είναι λάθος Ελέγξτε το αποτέλεσμα task και το όνομα handler.

Λειτουργική σημείωση για το θέμα «Security review»

Για χρήση κοντά σε production, το lab πρέπει να εξελιχθεί σε runbook. Το runbook ορίζει target systems, υπεύθυνους, προϋποθέσεις, κριτήρια διακοπής, αναμενόμενη διάρκεια, validation, monitoring και cleanup. Χωρίς αυτά, ένα playbook είναι εκτελέσιμο αλλά δεν είναι λειτουργικά ώριμο.

Το θέμα «Security review» είναι πρακτικό δομικό στοιχείο του Ansible workshop. Το desired state πρέπει να περιγράφεται, να εφαρμόζεται σε ελεγχόμενο scope και να επαληθεύεται πριν και μετά την εκτέλεση. Μια αξιόπιστη ροή Ansible απαντά σε τέσσερις ερωτήσεις: ποιοι hosts στοχεύονται, ποια αλλαγή γίνεται, ποια privileges απαιτούνται και πώς μετριέται η επιτυχία.

Πτυχή Σημασία στο workshop Έλεγχος
Scope Inventory, pattern, --limit, tags και environment επιλέγουν τα target systems. ansible-inventory --graph, ansible-playbook --list-hosts
State Τα modules πρέπει να μοντελοποιούν desired state με επαναλήψιμα αποτελέσματα. Δεύτερη εκτέλεση χωρίς περιττές αλλαγές
Privileges Το become χρησιμοποιείται μόνο στο task που απαιτεί δικαιώματα root και αιτιολογείται. Δεν υπάρχουν εκτεταμένα privileges χωρίς review.
Evidence Τεκμηριώνονται έξοδος, diffs και σύνοψη. Play recap, diff, αρχείο evidence

Τυπικές εντολές:

bash
ansible --version
ansible-config dump --only-changed
ansible-inventory -i inventory/hosts.yml --graph
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/site.yml --check --diff

Για το review, ένα playbook είναι έτοιμο όταν αποδεικνύει το target scope, αποκαλύπτει τις πηγές δεδομένων του, προστατεύει ευαίσθητες τιμές, περιγράφει πιθανές αστοχίες και παραμένει σταθερό σε δεύτερη εκτέλεση. Αν ένα module δεν υποστηρίζει πλήρως check mode ή diff mode, ο περιορισμός πρέπει να αναφέρεται στο runbook.

Συνηθισμένα λάθη είναι τα υπερβολικά ευρεία patterns όπως all, οι ασαφείς πηγές variables, η χρήση shell χωρίς idempotence, τα secrets σε debug output, η απουσία σχεδίου rollback και η ανάμειξη lab και production inventory.

flowchart LR
  user[Operator] --> control[Control Node]
  control --> inventory[Inventory]
  control --> playbook[Playbook]
  playbook --> tasks[Tasks]
  tasks --> modules[Modules]
  modules --> target[Managed Nodes]
  control --> evidence[Logs and Evidence]
10 / 11

Πηγές και περαιτέρω ανάγνωση

  • Official Ansible Community Documentation: https://docs.ansible.com/
  • Ansible Getting Started: https://docs.ansible.com/projects/ansible/latest/getting_started/index.html
  • Inventory Guide: https://docs.ansible.com/projects/ansible/latest/inventory_guide/index.html
  • Playbook Guide: https://docs.ansible.com/projects/ansible/latest/playbook_guide/index.html
  • Module Index: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/index.html
  • Vault Guide: https://docs.ansible.com/projects/ansible/latest/vault_guide/index.html
  • Ansible Lint: https://ansible.readthedocs.io/projects/lint/
  • Molecule: https://ansible.readthedocs.io/projects/molecule/
  • AWX: https://github.com/ansible/awx
  • Red Hat Certifications: https://www.redhat.com/en/services/certifications
11 / 11

ANS · Orthevs Academy

31 modules ως ενιαία διαδρομή μάθησης.

Η σειρά παραμένει αμετάβλητη: από τη βασική δομή του lab μέσω τεχνικών θεμελίων και λειτουργικών μοντέλων έως το τελικό troubleshooting. Τα τεχνικά ονόματα καταλόγων διατηρούνται σκόπιμα.

Orthevs – Η μηχανική ως βάση για όσα ακολουθούν.

Το Orthevs ως εφαρμογή

Εγκατάσταση του Orthevs

Η web app του Orthevs μπορεί να εγκατασταθεί σε υποστηριζόμενες κινητές συσκευές και browsers υπολογιστή.

iPhone και iPad

Ανοίξτε το Orthevs στο Safari. Πατήστε Κοινή χρήση και μετά Προσθήκη στην οθόνη αφετηρίας. Ενεργοποιήστε το Άνοιγμα ως web app, αν εμφανίζεται, και πατήστε Προσθήκη.

Android

Για τη web app, ανοίξτε το μενού του browser και επιλέξτε Εγκατάσταση εφαρμογής ή Προσθήκη στην αρχική οθόνη. Επιβεβαιώστε την εγκατάσταση.

Browser υπολογιστή

Ανοίξτε το μενού του browser ή το εικονίδιο εγκατάστασης στη γραμμή διευθύνσεων και επιλέξτε Εγκατάσταση εφαρμογής ή Προσθήκη στο Dock.

Η εγκατάσταση της web app εξαρτάται από τον browser. Αν δεν εμφανιστεί διάλογος εγκατάστασης, ακολουθήστε τα βήματα του browser που αναφέρονται παραπάνω.