Εξέλιξη Κομματιού
Ενότητα 1: Σχεδίαση Μικροϋπηρεσιών
• Ένα καλό όριο μικροϋπηρεσίας
• Χρήση Domain Driven Design (DDD)
• Εναλλακτικές στα όρια επιχειρηματικού τομέα (Μεταβλητότητα, Δεδομένα, Τεχνολογία, Οργανωτικά)
• Διαχωρισμός του μονόλιθου
• Πρόωρη αποσύνθεση
• Αποσύνθεση κατά στρώμα
• Χρήση προτύπων αποσύνθεσης (Strangler, Parallel Run, Feature Toggle)
• Ζητήματα αποσύνθεσης δεδομένων (Απόδοση, Ακεραιότητα, Συναλλαγές)
Ενότητα 2: Βελτιστοποίηση Docker και του Χρόνου Εκτέλεσης
• Επιλογή της σωστής βασικής εικόνας
• Ελαχιστοποίηση του αριθμού των επιπέδων
• Χρήση πολυ-επίπεδων κατασκευών (multi-stage builds)
• Βελτιστοποίηση εικόνας (ταξινόμηση παραμέτρων πολλαπλών γραμμών κ.λπ.)
• Αξιοποίηση της προσωρινής μνήμης κατασκευής
• Καθορισμός εκδόσεων εικόνας
• Ρύθμιση της κατανομής πόρων
• Ασφαλείς πρακτικές containers
• Διαμόρφωση χρόνου εκτέλεσης για απόδοση
Ενότητα 3: Kubernetes & Στρατηγικές Έκδοσης
Επισκόπηση Αναπτύξεων Kubernetes
• Δημιουργία και εκτέλεση αρχικής ανάπτυξης
• Επιλογές ανάπτυξης Kubernetes
Εκτέλεση Αναπτύξεων με Rolling Update
• Κατανόηση του Rolling Update
• Δημιουργία και εκτέλεση ενός Rolling Update
• Επαναφορά ανάπτυξης
Εκτέλεση Canary Deployments
• Κατανόηση των Canary Deployments
• Δημιουργία και εκτέλεση ενός Canary Deployment
Εκτέλεση Blue-Green Deployments
• Κατανόηση των Blue-Green Deployments
• Δημιουργία και εκτέλεση ενός Blue-Green Deployment
Εκτέλεση Jobs και CronJobs
• Δημιουργία ενός Job και CronJob
Εκτέλεση Εργασιών Παρακολούθησης και Αντιμετώπισης Προβλημάτων
• Τεχνικές αντιμετώπισης προβλημάτων με το kubectl
Ενότητα 4: Αυτοματισμός & Λειτουργική Αποδοτικότητα
Χρήση Python για Αυτοματοποίηση Συνήθων Εργασιών στο Kubernetes
• Χρήση Python για εκτέλεση διαχειριστικών λειτουργιών στο Kubernetes
• Χρήση Python για ορισμό αντικειμένων διαμόρφωσης
• Χρήση Python για δημιουργία αντικειμένων ανάπτυξης
• Παρακολούθηση συμβάντων Kubernetes χρησιμοποιώντας Python
• Κλιμάκωση μιας ανάπτυξης χρησιμοποιώντας Python
Κατανόηση των Προκλήσεων Αυτοματοποίησης Αναπτύξεων
• Δηλωτική διαμόρφωση με το Kubernetes
• Διαχείριση της ακεραιότητας της διαμόρφωσης
Χρήση της Προσέγγισης GitOps για Αυτοματοποίηση Αναπτύξεων
• Αρχές GitOps
• Παρουσίαση του Flux
• Εγκατάσταση του Flux σε ένα σύμπλεγμα Kubernetes
Διαμόρφωση του Flux για Αυτοματοποιημένες Αναπτύξεις
• Χρήση ειδοποιήσεων
• Η δομή του αποθετηρίου πηγής
Διαχείριση Ενημερώσεων Εφαρμογών με Αυτοματισμό Εικόνων
• Ενημέρωση ανάπτυξης εφαρμογής με το Flux
• Σάρωση αποθετηρίων εικόνων container για ετικέτες
• Ορισμός πολιτικής για επιλογή τελευταίας εικόνας
• Διαμόρφωση του Flux για εκτέλεση αυτόματων ενημερώσεων εικόνων
Ενότητα 5: Παρατηρησιμότητα & Σαφήνεια Βαθύτερων Αιτίων
Δυνατότητες Καταγραφής και Ανίχνευσης στο Kubernetes
• Γιατί είναι σημαντικές η καταγραφή και η ανίχνευση
• Πρόσβαση στα αρχεία καταγραφής του Kubernetes
• Αρχεία καταγραφής Pod και Container
• Αρχεία καταγραφής Control Plane
• Χρήση πόρων κόμβων και Pods
Συλλογή και Ανάλυση των Αρχείων Καταγραφής
• Συγκέντρωση καταγραφών
• Οπτικοποίηση καταγραφών
Κατανεμημένη Ανίχνευση στο Kubernetes
• Τι είναι η κατανεμημένη ανίχνευση
• Χρήση του OpenTelemetry
• Εργαλεία κατανεμημένης ανίχνευσης
• Ενόργανη παρακολούθηση εφαρμογής
• Χρήση ανίχνευσης για εύρεση προβλημάτων απόδοσης
Παρακολούθηση με Prometheus και Grafana
• Έννοιες παρατηρησιμότητας
• Εργαλεία παρακολούθησης
• Χρήση ενόργανης παρακολούθησης Prometheus
Προηγμένες Περιπτώσεις Χρήσης Καταγραφής
• Επεξεργασία καταγραφών
• Φιλτράρισμα και εμπλουτισμός των καταγραφών
• Event Sourcing
Ενότητα 6: Προσομοίωση Κρίσης Συμπλέγματος & Αντιμετώπιση Περιστατικών
• Κατανόηση των διαφορετικών τύπων βλαβών σε περιβάλλον συμπλέγματος
• Προσομοίωση αποτυχιών κόμβου
• Σενάριο αποπομπής Pod και εξάντλησης πόρων
• Προβλήματα δικτύου
• Αποτυχίες DNS για χειρισμό χρονικών ορίων εφαρμογής
• Προσομοίωση διακοπής λειτουργίας του API Server
• Προσομοίωση υψηλής κίνησης για σταθερότητα συστήματος
• Αποτυχία αποθήκευσης
• Σφάλματα διαμόρφωσης
• Κατανόηση διαδικασιών αναφοράς περιστατικών
Ενότητα 7: AI για Υποστήριξη Αντιμετώπισης Προβλημάτων
• Οφέλη της Γενετικής AI για το Kubernetes
• Αρχιτεκτονική του K8sGPT CLI
• Εγκατάσταση του K8sGPT CLI
• Εντολές και χρήση του K8sGPT
• Χρήση αναλυτών K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer κ.λπ.)
• Ανάλυση του συμπλέγματος χρησιμοποιώντας K8sGPT
• Ανάλυση προβλημάτων σε πραγματικό χρόνο χρησιμοποιώντας K8sGPT
• In-Cluster Operator για K8sGPT
Απαιτήσεις
- Βασικές γνώσεις γραμμής εντολών Linux
- Εμπειρία στην ανάπτυξη εφαρμογών ή στη διαχείριση συστημάτων
- Εξοικείωση με containers (έννοιες Docker)
- Βασική κατανόηση των εννοιών του Kubernetes (pods, deployments, services)
- Γενική κατανόηση της αρχιτεκτονικής λογισμικού (π.χ. API, υπηρεσίες)
Κοινό-στόχος:
- Μηχανικοί DevOps
- Μηχανικοί Αξιοπιστίας Ιστοτόπων (SREs)
- Προγραμματιστές backend / λογισμικού που εργάζονται με μικροϋπηρεσίες
- Μηχανικοί Cloud και Μηχανικοί Πλατφορμών
-
Διαχειριστές συστημάτων που μεταβαίνουν σε περιβάλλοντα Kubernetes
Σχόλια (2)
Ο Craig ήταν εξαιρείτικά πληροφορημένος και εμπλεγμένος στην εκπαίδευση, πάντα διασφαλίζοντας ότι προσέχουμε, προσαρμόζοντας τα παραδείγματα στις καθημερινές μας δραστηριότητες και πάντα παρέχοντας απάντηση όταν ζητούνταν, ακόμη και αν η πληροφορία δεν εξακολουθούσε να βρίσκεται στην παρουσίαση.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Κομμάτι - DevOps Foundation®
Μηχανική Μετάφραση
Υψηλό επίπεδο υποχρέωσης και γνώσεων του εκπαιδευτή
Jacek - Softsystem
Κομμάτι - DevOps Engineering Foundation (DOEF)®
Μηχανική Μετάφραση