Kubernetes Workshop – Επισκόπηση
Επισκόπηση
Αυτό το workshop καλύπτει τη διαδρομή από τις βασικές αρχές της ενορχήστρωσης containers έως την ασφαλή λειτουργία μιας πλατφόρμας σε production περιβάλλον.
Τα κύρια θέματα είναι:
- η αρχιτεκτονική του Kubernetes,
- οι declarative πόροι,
- τα workloads,
- το networking,
- το storage,
- το scheduling,
- το observability,
- το GitOps,
- το multi-tenancy,
- το security hardening και
- το incident response.
Μπορείτε να χρησιμοποιήσετε το υλικό ως διαδρομή μάθησης, ως περιεχόμενο workshop, ως τεκμηρίωση αναφοράς ή ως βάση για εσωτερική εκπαίδευση.
Γρήγορη εκκίνηση
Ακολουθήστε τα βήματα από την επιλογή ενός lab περιβάλλοντος έως την πρώτη άσκηση.
Πρόσβαση στο υλικό
Το υλικό διατίθεται στο Orthevs Wiki. Μπορείτε να κατεβάσετε τα πρακτικά modules ως αρχεία ZIP από τη σελίδα του workshop.
Επιλογή lab περιβάλλοντος
Επιλέξτε ένα περιβάλλον κατάλληλο για τις ασκήσεις σας:
| Περιβάλλον | Περιγραφή | Τεκμηρίωση |
|---|---|---|
| WSL | Ubuntu σε WSL για συστήματα Windows | Ρύθμιση Ubuntu σε WSL |
| VM | Τοπικό ή απομακρυσμένο Ubuntu VM | Ρύθμιση Ubuntu σε VM |
| Bare Metal | Άμεση εγκατάσταση σε φυσικό υπολογιστή | Ρύθμιση Ubuntu σε Bare Metal |
| Υπάρχον Cluster | Προετοιμασμένο Kubernetes test cluster | Προετοιμασία πρόσβασης στο Cluster |
Προετοιμασία lab περιβάλλοντος
Εγκαταστήστε τα βασικά εργαλεία με τα διαθέσιμα αρχεία προετοιμασίας:
Αν χρησιμοποιήσετε το provisioning script, ελέγξτε το πρώτα με --dry-run:
chmod +x scripts/provision_kubernetes.sh
./scripts/provision_kubernetes.sh --dry-run
sudo ./scripts/provision_kubernetes.sh
Έλεγχος του Cluster
Μετά την προετοιμασία, βεβαιωθείτε ότι το kubectl συνδέεται στο σωστό Kubernetes Cluster:
kubectl version --client
kubectl cluster-info
kubectl get nodes
kubectl get namespaces
Αν εργάζεστε τοπικά με kind, minikube ή k3d, συμβουλευτείτε την τεκμηρίωση για το περιβάλλον και τις εντολές:
Έναρξη του workshop
Ξεκινήστε από το Curriculum και συνεχίστε με τα επίπεδα του workshop:
- Διαβάστε το Curriculum
- Ξεκινήστε από το Fundamentals
- Ανοίξτε τις ασκήσεις
- Εκτελέστε τα παραδείγματα
- Προετοιμαστείτε για τα Assessments
Προτεινόμενη σειρά:
docs/ -> workshops/ -> examples/ -> exercises/ -> assessments/
Σε ποιους απευθύνεται
Το workshop απευθύνεται σε:
- developers,
- DevOps engineers,
- system engineers,
- platform engineers,
- SREs,
- cloud engineers,
- tech leads και
- security engineers.
Στόχος είναι να κατανοήσετε το Kubernetes σε επίπεδο εννοιών, να το διαχειρίζεστε σε ρεαλιστικά περιβάλλοντα και να το ασφαλίζετε σωστά.
Διαδρομή μάθησης
| Επίπεδο | Εστίαση | Αποτέλεσμα |
|---|---|---|
| Fundamentals | Αρχιτεκτονική, control plane, nodes, Pods, Deployments, Services, Namespaces, labels, selectors, kubectl |
Κατανοείτε τις βασικές έννοιες και μπορείτε να δημιουργείτε και να ελέγχετε απλούς πόρους. |
| Intermediate | Workloads, ConfigMaps, Secrets, probes, requests/limits, HPA, Ingress, DNS, storage, scheduling, Helm, Kustomize | Μπορείτε να διαχειρίζεστε συνηθισμένα application workloads με declarative τρόπο. |
| Professional | Αρχιτεκτονική Cluster, distributions, etcd, lifecycle, CNI/CSI, observability, GitOps, add-ons, multi-tenancy, autoscaling, cost management, backup | Κατανοείτε το Kubernetes ως πλατφόρμα και μπορείτε να αξιολογείτε λειτουργικές απαιτήσεις. |
| Advanced + Security | Threat modeling, RBAC, service accounts, API server, ασφάλεια etcd, Pod Security Standards, NetworkPolicies, admission control, image security, runtime security, incident response | Μπορείτε να λειτουργείτε το Kubernetes με υψηλότερο επίπεδο ασφάλειας και να αναλύετε συνηθισμένα σενάρια επίθεσης ή αστοχίας. |
Δομή περιεχομένου
Δομή του workshop
Το υλικό των workshops ακολουθεί κοινή βασική δομή. Αλλάζει μόνο το τεχνικό αντικείμενο.
.
├── assessments/
├── docs/
├── examples/
├── exercises/
├── media/
│ └── pics/
├── scripts/
├── workshops/
├── LICENSE.md
└── README-EL.md
| Διαδρομή | Περιεχόμενο |
|---|---|
docs/ |
Τεκμηρίωση αναφοράς, οδηγοί περιβάλλοντος, provisioning, certifications και επιπλέον έννοιες |
workshops/*-DE.md |
Επίπεδα του workshop στα γερμανικά |
workshops/*-EN.md |
Επίπεδα του workshop στα αγγλικά |
workshops/*-EL.md |
Επίπεδα του workshop στα ελληνικά, όταν η μετάφραση είναι διαθέσιμη |
exercises/ |
Ασκήσεις, εργασίες και παραδοτέα ανά επίπεδο |
assessments/ |
Έλεγχοι γνώσεων, ερωτήσεις εξετάσεων και τελικό Assessment |
examples/ |
Παραδείγματα YAML, tooling labs και τοπικές επιδείξεις |
scripts/ |
Βοηθητικά scripts για εγκατάσταση, validation ή provisioning |
media/pics/ |
Εικόνες και οπτικό υλικό |
Προαπαιτούμενα
Χρειάζεστε τουλάχιστον:
- Linux, macOS ή WSL shell,
- βασικές γνώσεις containers,
- βασικές γνώσεις YAML,
git,kubectlκαι- πρόσβαση σε Kubernetes lab περιβάλλον.
Προαιρετικά, αλλά χρήσιμα εργαλεία:
- kind,
- minikube,
- k3d,
- Helm,
- Kustomize,
- stern,
- k9s,
- kubectx,
- kubens,
- Trivy και
- Kyverno.
Συμβάσεις για τους συνδέσμους
Οι εσωτερικοί σύνδεσμοι αυτής της επισκόπησης οδηγούν στο σχετικό υλικό του workshop. Οι εξωτερικοί σύνδεσμοι οδηγούν στις επίσημες σελίδες των αντίστοιχων projects. Όπου η ελληνική έκδοση ενός εγγράφου δεν είναι ακόμη διαθέσιμη, εμφανίζεται η αγγλική.
Παραδείγματα:
[Διαβάστε το Curriculum](docs/curriculum-kubernetes-EL.md)
[Ξεκινήστε από το Fundamentals](workshops/01-fundamentals-kubernetes-EL.md)
[Ρυθμίστε το Ubuntu σε WSL](docs/environment-wsl-kubernetes-EN.md)
Επίσημη τεκμηρίωση
Εργαλεία και projects
- kubernetes/kubernetes
- kubernetes-sigs/kind
- kubernetes/minikube
- k3s-io/k3s
- helm/helm
- kubernetes-sigs/kustomize
- cilium/cilium
- projectcalico/calico
- prometheus-operator/kube-prometheus
- grafana/loki
- argoproj/argo-cd
- fluxcd/flux2
- kyverno/kyverno
- open-policy-agent/gatekeeper
- falcosecurity/falco
- aquasecurity/trivy
Συμβάσεις γλώσσας και κώδικα
- Το περιεχόμενο Markdown οργανώνεται ανά γλώσσα: γερμανικά, αγγλικά και ελληνικά όπου υπάρχει μετάφραση.
- Οι τεχνικοί όροι, ο κώδικας, οι εντολές, τα ονόματα αρχείων, οι μεταβλητές και τα σχόλια κώδικα παραμένουν στα αγγλικά.
- Μη χρησιμοποιείτε production Clusters, Secrets, tokens, private keys ή δεδομένα πελατών στα labs.
- Οι τιμές των παραδειγμάτων πρέπει να αναγνωρίζονται καθαρά ως dummy τιμές.
- Τα αρχεία του workshop ακολουθούν συνεπή τεχνική ονοματοδοσία.
Τρόπος εργασίας
Ασκήσεις σε εξωτερικό project
Το υλικό του workshop διαβάζεται στο Wiki και τα πρακτικά modules κατεβαίνουν ως ZIP. Αν μεταφέρετε μια άσκηση σε δικό σας εξωτερικό Git project, εργαστείτε σε ξεχωριστό branch:
git checkout -b workshop/<username>/<topic>
Για παράδειγμα:
git checkout -b workshop/alex/kubernetes-networking-lab
Υποβάλετε τις αλλαγές του δικού σας project για review μέσω pull request ή merge request.
Ασφάλεια και Credentials
- Μην προσθέτετε passwords σε commits.
- Μην προσθέτετε tokens ή API keys.
- Μην προσθέτετε SSH private keys.
- Μην προσθέτετε αρχεία
.envμε πραγματικά Secrets. - Μην προσθέτετε kubeconfig αρχεία με production credentials.
- Μη χρησιμοποιείτε δεδομένα πελατών ή dumps από production Clusters.
- Χρησιμοποιείτε dummy τιμές στις ρυθμίσεις των παραδειγμάτων.
- Ελέγχετε το
.gitignoreτου δικού σας project πριν προσθέσετε νέα παραδείγματα.
Εκτέλεση scripts
Πρώτα ελέγξτε το provisioning με --dry-run:
chmod +x scripts/provision_kubernetes.sh
./scripts/provision_kubernetes.sh --dry-run
Αν το αποτέλεσμα είναι εύλογο, εκτελέστε το provisioning:
sudo ./scripts/provision_kubernetes.sh
Το sudo απαιτείται μόνο για την εγκατάσταση packages. Τα scripts δεν πρέπει να εκτελούν καταστροφικές ενέργειες επαναφοράς χωρίς ρητή επιβεβαίωση.
Σχετικά workshops
Άδεια χρήσης
Εκτός αν αναφέρεται διαφορετικά, το εκπαιδευτικό υλικό διατίθεται με την άδεια CC BY-NC-SA 4.0. Δεν επιτρέπεται η εμπορική χρήση.
Οι εικόνες και το οπτικό υλικό στο media/, ιδίως στο media/pics/, εξαιρούνται. Δημιουργήθηκαν από τον Anastasios Karasakalidis και επιτρέπεται να εμφανίζονται μόνο στο πλαίσιο αυτού του workshop. Η ξεχωριστή χρήση, αναδιανομή, τροποποίηση ή αναδημοσίευσή τους απαιτεί προηγούμενη γραπτή άδεια.
Επικοινωνία: anastasios.karasakalidis@orthevs.com