Εξέλιξη Κομματιού
Ημέρα 1 – Containers και Διαχείριση Ειδώλων
Εισαγωγή στις Πλατφόρμες Container
- Σύγκριση παραδοσιακής ανάπτυξης εφαρμογών με ανάπτυξη βασισμένη σε container
- Containers και εικονικές μηχανές
- Χρόνοι εκτέλεσης και μηχανές container
- Ο ρόλος των Docker, Kubernetes και OpenShift
- Συνήθεις αρχιτεκτονικές πλατφορμών container
- Ροές εργασίας ανάπτυξης, δοκιμών και παραγωγής
Εργασία με Containers
- Εκτέλεση και διαχείριση containers
- Κύκλος ζωής container
- Εκκίνηση, διακοπή και αφαίρεση containers
- Εκτέλεση εντολών μέσα σε containers
- Μεταβλητές περιβάλλοντος
- Αντιστοίχιση θυρών
- Αρχεία καταγραφής container
- Χρήση πόρων και επιθεώρηση διεργασιών
Δημιουργία Ειδώλων Container
- Δομή και επίπεδα ειδώλου
- Δημιουργία Dockerfiles και Containerfiles
- Επιλογή βασικών ειδώλων
- Προσθήκη εξαρτήσεων εφαρμογής
- Ρύθμιση σημείων εισόδου και εντολών
- Προσωρινή αποθήκευση ειδώλου
- Μείωση μεγέθους ειδώλου
- Δημιουργία αναπαραγώγιμων ειδώλων
Μητρώα Container
- Δημόσια και ιδιωτικά μητρώα
- Προσθήκη ετικετών και έκδοση ειδώλων
- Αποστολή και λήψη ειδώλων
- Έλεγχος ταυτότητας ειδώλου
- Διατήρηση και εκκαθάριση ειδώλων
- Βασικές εκτιμήσεις ασφάλειας ειδώλου
Δικτύωση και Αποθηκευτικός Χώρος Container
- Έννοιες δικτύωσης container
- Δικτύωση γέφυρας
- Έκθεση θυρών
- Επικοινωνία μεταξύ containers
- Προσαρτήσεις bind και τόμοι
- Μόνιμα δεδομένα container
- Εκτιμήσεις δημιουργίας αντιγράφων ασφαλείας
Πρακτικές Ασκήσεις
- Εκτέλεση και επιθεώρηση containers
- Δημιουργία ειδώλου εφαρμογής
- Ρύθμιση θυρών και μεταβλητών περιβάλλοντος
- Δημοσίευση ειδώλου σε μητρώο
- Αποθήκευση μόνιμων δεδομένων εκτός container
Ημέρα 2 – Αρχιτεκτονική και Φόρτοι Εργασίας Kubernetes
Θεμελιώδεις Αρχές Kubernetes
- Ο σκοπός της ενορχήστρωσης container
- Αρχιτεκτονική Kubernetes
- Στοιχεία επιπέδου ελέγχου
- Κόμβοι εργασίας
- API server
- Χρονοπρογραμματιστής
- Ελεγκτές
- Κατάσταση συμπλέγματος και επιθυμητή κατάσταση
- Επικοινωνία με το σύμπλεγμα χρησιμοποιώντας το kubectl
Πόροι Kubernetes
- Pods
- ReplicaSets
- Deployments
- Χώροι ονομάτων
- Ετικέτες και σχολιασμοί
- Επιλογείς
- Δηλωτικοί ορισμοί πόρων
- Αρχεία YAML manifest
Ανάπτυξη Εφαρμογών
- Δημιουργία και διαχείριση Deployments
- Κλιμάκωση φόρτων εργασίας
- Ενημέρωση ειδώλων container
- Κυλιόμενες ενημερώσεις
- Επαναφορές
- Ιστορικό Deployment
- Επανεκκίνηση φόρτων εργασίας
- Διαχείριση αντιγράφων εφαρμογής
Ρύθμιση Παραμέτρων Εφαρμογής
- ConfigMaps
- Secrets
- Μεταβλητές περιβάλλοντος
- Αρχεία ρυθμίσεων
- Διαχωρισμός κώδικα εφαρμογής από τις ρυθμίσεις
- Διαχείριση ρυθμίσεων ανάλογα με το περιβάλλον
Διαχείριση Πόρων
- Αιτήματα CPU και μνήμης
- Όρια CPU και μνήμης
- Ποσοστώσεις πόρων
- Εύρη ορίων
- Επιπτώσεις στον προγραμματισμό
- Διάγνωση αστοχιών που σχετίζονται με πόρους
Πρακτικές Ασκήσεις
- Ανάπτυξη εφαρμογής σε container
- Δημιουργία και ενημέρωση manifests Kubernetes
- Κλιμάκωση εφαρμογής
- Εκτέλεση κυλιόμενης ενημέρωσης και επαναφοράς
- Ρύθμιση παραμέτρων της εφαρμογής χρησιμοποιώντας ConfigMaps και Secrets
- Εφαρμογή αιτημάτων και ορίων πόρων
Ημέρα 3 – Δικτύωση, Αποθηκευτικός Χώρος και Ασφάλεια Kubernetes
Δικτύωση Kubernetes
- Μοντέλο δικτύωσης συμπλέγματος
- Επικοινωνία μεταξύ pods
- Ανακάλυψη υπηρεσιών
- DNS εντός του συμπλέγματος
- Υπηρεσίες ClusterIP
- Υπηρεσίες NodePort
- Υπηρεσίες LoadBalancer
- Έννοιες Ingress
- Μοτίβα έκθεσης εφαρμογών
Πολιτικές Δικτύου
- Έλεγχος κίνησης μεταξύ φόρτων εργασίας
- Κανόνες εισερχόμενης και εξερχόμενης κίνησης
- Έλεγχος κίνησης βάσει χώρου ονομάτων
- Δοκιμή δικτυακής συνδεσιμότητας
- Αντιμετώπιση προβλημάτων επικοινωνίας υπηρεσιών
Μόνιμος Αποθηκευτικός Χώρος
- Εφήμερος και μόνιμος αποθηκευτικός χώρος
- Τόμοι
- PersistentVolumes
- PersistentVolumeClaims
- StorageClasses
- Δυναμική παροχή
- Λειτουργίες πρόσβασης
- Πολιτικές ανάκτησης
- Αποθηκευτικός χώρος για εφαρμογές με κατάσταση
Έλεγχος Πρόσβασης Kubernetes
- Έννοιες ελέγχου ταυτότητας και εξουσιοδότησης
- Έλεγχος Πρόσβασης Βάσει Ρόλων
- Ρόλοι και ClusterRoles
- RoleBindings και ClusterRoleBindings
- Λογαριασμοί υπηρεσιών
- Πρόσβαση ελάχιστων προνομίων
- Έλεγχος πραγματικών δικαιωμάτων
Ασφάλεια Φόρτου Εργασίας
- Πλαίσια ασφαλείας
- Εκτέλεση containers ως μη-root χρήστης
- Δυνατότητες Linux
- Συστήματα αρχείων μόνο για ανάγνωση
- Χειρισμός Secrets
- Προέλευση ειδώλου
- Συνήθεις κίνδυνοι ρύθμισης παραμέτρων
Πρακτικές Ασκήσεις
- Έκθεση εφαρμογής χρησιμοποιώντας υπηρεσίες Kubernetes
- Ρύθμιση παραμέτρων ingress
- Περιορισμός κίνησης χρησιμοποιώντας πολιτική δικτύου
- Παροχή μόνιμου αποθηκευτικού χώρου
- Ρύθμιση παραμέτρων δικαιωμάτων RBAC
- Εκτέλεση φόρτου εργασίας με κατάλληλο πλαίσιο ασφαλείας
Ημέρα 4 – Εργασία με Περιβάλλοντα OpenShift
Εισαγωγή στο OpenShift
- Το OpenShift ως πλατφόρμα εφαρμογών βασισμένη στο Kubernetes
- Πόροι Kubernetes σε περιβάλλον OpenShift
- Αρχιτεκτονική συμπλέγματος OpenShift
- Έργα και χώροι ονομάτων
- Χρήστες πλατφόρμας και λογαριασμοί υπηρεσιών
- Εργασία με την κονσόλα ιστού
- Εργασία με το CLI του OpenShift
Διαχείριση Έργων και Πρόσβασης
- Δημιουργία και διαχείριση έργων
- Ανάθεση δικαιωμάτων χρήστη
- Ρόλοι σε επίπεδο έργου
- Διαχειριστική πρόσβαση
- Ποσοστώσεις πόρων
- Εύρη ορίων
- Λογαριασμοί υπηρεσιών
- Έλεγχος πόρων έργου
Ανάπτυξη Εφαρμογών
- Ανάπτυξη ειδώλων container
- Δημιουργία φόρτων εργασίας εφαρμογής
- Διαχείριση deployments
- Κλιμάκωση εφαρμογών
- Ενημέρωση εκδόσεων εφαρμογής
- Επαναφορές
- Διαχείριση ρυθμίσεων εφαρμογής
- Εργασία με secrets
Έκθεση Εφαρμογής
- Υπηρεσίες στο OpenShift
- Διαδρομές
- Έννοιες TLS
- Εσωτερική και εξωτερική πρόσβαση εφαρμογής
- Ονόματα κεντρικών υπολογιστών και πιστοποιητικά
- Διάγνωση προβλημάτων διαδρομών και υπηρεσιών
Αποθηκευτικός Χώρος στο OpenShift
- Persistent Volume Claims
- StorageClasses
- Προσάρτηση αποθηκευτικού χώρου σε φόρτους εργασίας
- Φόρτοι εργασίας με κατάσταση
- Δικαιώματα πρόσβασης αποθηκευτικού χώρου
- Αντιμετώπιση προβλημάτων προσάρτησης τόμων
Χρονοπρογραμματισμός και Διαχείριση Κόμβων
- Ετικέτες και επιλογείς
- Επιλογείς κόμβων
- Taints και tolerations
- Έννοιες συγγένειας και αντι-συγγένειας
- Τοποθέτηση φόρτου εργασίας
- Απομόνωση και εκκένωση κόμβων
- Εκτιμήσεις συντήρησης κόμβων
Πρακτικές Ασκήσεις
- Πρόσβαση σε περιβάλλον OpenShift
- Δημιουργία και ρύθμιση παραμέτρων έργου
- Ανάπτυξη και έκθεση εφαρμογής
- Ρύθμιση παραμέτρων πρόσβασης χρήστη και λογαριασμού υπηρεσίας
- Προσάρτηση μόνιμου αποθηκευτικού χώρου
- Κλιμάκωση και ενημέρωση φόρτου εργασίας σε λειτουργία
Ημέρα 5 – Διαχείριση Λειτουργιών, Παρακολούθηση και Αντιμετώπιση Προβλημάτων
Παρακολούθηση Πλατφόρμας
- Παρακολούθηση υγείας συμπλέγματος και εφαρμογών
- Μετρικές πόρων
- Υγεία κόμβου
- Κατάσταση φόρτου εργασίας
- Χωρητικότητα και χρήση πόρων
- Εντοπισμός περιορισμών απόδοσης
Καταγραφή και Συμβάντα
- Αρχεία καταγραφής container
- Αρχεία καταγραφής pod
- Προηγούμενα αρχεία καταγραφής container
- Συμβάντα Kubernetes
- Μηνύματα εφαρμογής και πλατφόρμας
- Φιλτράρισμα και ερμηνεία λειτουργικών δεδομένων
Έλεγχοι Υγείας
- Ανιχνευτές εκκίνησης
- Ανιχνευτές ετοιμότητας
- Ανιχνευτές ζωντάνιας
- Σχεδίαση χρήσιμων τελικών σημείων υγείας
- Διάγνωση αποτυχιών ανιχνευτή
- Αποτροπή μη απαραίτητων επανεκκινήσεων εφαρμογής
Αντιμετώπιση Προβλημάτων Φόρτου Εργασίας
- Pods σε εκκρεμότητα
- Αποτυχίες λήψης ειδώλου
- Βρόχοι κατάρρευσης
- Εσφαλμένα ρυθμισμένες μεταβλητές περιβάλλοντος
- Αποτυχημένες προσαρτήσεις
- Ανεπαρκείς πόροι
- Σφάλματα δικαιωμάτων
- Προβλήματα συνδεσιμότητας υπηρεσίας και διαδρομής
- Προβλήματα DNS
- Αποτυχίες εκκίνησης εφαρμογής
Λειτουργική Ασφάλεια
- Έλεγχος δικαιωμάτων
- Χρήση λογαριασμού υπηρεσίας
- Ασφαλής χειρισμός διαπιστευτηρίων
- Πρακτικές ασφάλειας ειδώλου
- Απομόνωση δικτύου
- Έλεγχος πρόσβασης πλατφόρμας
- Εφαρμογή της αρχής των ελάχιστων προνομίων
Συντήρηση και Διαχείριση Κύκλου Ζωής
- Τακτικοί έλεγχοι πλατφόρμας
- Συντήρηση κόμβων
- Εκτιμήσεις δημιουργίας αντιγράφων ασφαλείας εφαρμογής
- Αντίγραφο ασφαλείας ρυθμίσεων
- Προγραμματισμός ενημερώσεων
- Διαχείριση αλλαγών
- Δοκιμή ενημερώσεων
- Σχεδιασμός επαναφοράς
- Έννοιες ανάκαμψης από καταστροφή
Τελικό Πρακτικό Εργαστήριο
Οι συμμετέχοντες ολοκληρώνουν ένα λειτουργικό σενάριο από άκρο σε άκρο:
- Δημιουργία και προσθήκη ετικέτας σε είδωλο container.
- Δημοσίευση του ειδώλου σε μητρώο.
- Ανάπτυξη της εφαρμογής σε Kubernetes ή OpenShift.
- Ρύθμιση παραμέτρων και διαπιστευτηρίων εφαρμογής.
- Έκθεση της εφαρμογής.
- Προσάρτηση μόνιμου αποθηκευτικού χώρου.
- Ρύθμιση παραμέτρων δικαιωμάτων πρόσβασης.
- Προσθήκη ελέγχων υγείας.
- Κλιμάκωση και ενημέρωση της εφαρμογής.
- Διάγνωση και επίλυση μιας εισαγόμενης αστοχίας.
Μορφή Σεμιναρίου
- Διαδραστικές διαλέξεις και τεχνικές συζητήσεις.
- Επιδείξεις από τον εισηγητή.
- Εκτεταμένες πρακτικές ασκήσεις.
- Εργαστήρια διαχείρισης και αντιμετώπισης προβλημάτων βασισμένα σε σενάρια.
- Πρακτική εργασία σε περιβάλλοντα container, Kubernetes και OpenShift.
Επιλογές Προσαρμογής Σεμιναρίου
- Το σεμινάριο μπορεί να προσαρμοστεί στην υπάρχουσα υποδομή, τον πάροχο cloud και τα εργαλεία container του συμμετέχοντα.
- Η ισορροπία μεταξύ των θεμάτων Docker, Kubernetes και OpenShift μπορεί να προσαρμοστεί ανάλογα με την εμπειρία της ομάδας.
- Οι πρακτικές ασκήσεις μπορούν να προσαρμοστούν στις εφαρμογές, τις διαδικασίες ανάπτυξης και τις λειτουργικές απαιτήσεις του οργανισμού.
Σημείωμα Εμπορικού Σήματος
Το OpenShift είναι εμπορικό σήμα της Red Hat, Inc. Αυτή η ανεξάρτητα αναπτυγμένη εκπαίδευση δεν συνδέεται, δεν υποστηρίζεται ούτε έχει εγκριθεί από τη Red Hat.
Απαιτήσεις
Οι συμμετέχοντες θα πρέπει να διαθέτουν:
- Εμπειρία στη χρήση της γραμμής εντολών Linux.
- Βασικές γνώσεις διαχείρισης συστημάτων ή DevOps.
- Μια γενική κατανόηση των εννοιών δικτύωσης.
- Εξοικείωση με τις διαδικασίες ανάπτυξης λογισμικού.
Προηγούμενη εμπειρία με Docker, Kubernetes ή OpenShift είναι χρήσιμη αλλά δεν απαιτείται.
Σχόλια (7)
Ο Reda εξηγήσει και έκανε πολύ απλό την κατανόηση
Eric Van Wyk
Κομμάτι - Docker, Kubernetes and OpenShift 3 for Administrators
Μηχανική Μετάφραση
Τα laboratorία ήταν τα καλύτερα. Πολύ πρακτικά και παρέχουν εμπειρία εφαρμογής. Κατ' εμέ, αυτό είναι το πιο αποδοτικό μέσο για να καταλάβουμε πραγματικά το μάθημα και να εφαρμόσουμε τα θέματα που αναφέρθηκαν.
Hishaam Johnstone
Κομμάτι - Docker, Kubernetes and OpenShift 3 for Administrators
Μηχανική Μετάφραση
Απολάμβανα τη διάθεση να βοηθήσουν και να εξηγήσουν περαιτέρω όταν υπήρχε αβεβαιότητα
Letlotlo Miffi
Κομμάτι - Docker, Kubernetes and OpenShift 3 for Administrators
Μηχανική Μετάφραση
Ο Αδριάνος μελέτησε το θέμα πολύ βαθιά, κάτι που αποτελεί το στιλ που αγαπώ να εξετάζω: λιγότερο για τις οδηγίες και περισσότερο για το μηχανισμό που το υποστηρίζει. Οι συζητήσεις ήταν καλά υποστηριζόμενες από πρακτικές παραδείγματα, που βοήθησαν σημαντικά να καταλάβω το υλικό που παρουσιάστηκε.
Mariusz BANASZCZYK - Sopra Steria
Κομμάτι - Docker, Kubernetes and OpenShift for Administrators
Μηχανική Μετάφραση
Βαθιά γνώση του Adriano. Εξήγηση βασικών εννοιών
Tomasz Szalankiewicz - LPP SA
Κομμάτι - Docker, Kubernetes and OpenShift for Administrators
Μηχανική Μετάφραση
Συνήθως μου άρεσε ο παρουσιαστής.
Josif Kovacevic - ANZ
Κομμάτι - Docker, Kubernetes and OpenShift for Administrators
Μηχανική Μετάφραση
Adrian clearly knows and enjoys this technology.
Tom Edginton - National Oceanography Centre
Κομμάτι - Docker, Kubernetes and OpenShift for Administrators
Μηχανική Μετάφραση