Kubernetes Workshop – Übersicht
Überblick
Dieser Workshop führt von den Grundlagen der Container-Orchestrierung bis zum sicheren, produktionsnahen Plattformbetrieb.
Der Fokus liegt auf:
- Kubernetes-Architektur
- deklarativen Ressourcen
- Workloads
- Networking
- Storage
- Scheduling
- Observability
- GitOps
- Multi-Tenancy
- Security-Härtung
- Incident Response
Die Inhalte sind so aufgebaut, dass du sie als Lernpfad, Workshop-Unterlage, Referenzdokumentation oder Basis für interne Trainings verwenden kannst.
Quickstart
Dieser Quickstart führt dich von der Wahl der Übungsumgebung bis zum Start der ersten Übung.
Workshop-Material nutzen
Die Unterlagen stehen direkt im Orthevs Wiki bereit. Die Praxismodule sind auf der Workshop-Seite als ZIP verfügbar.
Übungsumgebung auswählen
Wähle eine passende Umgebung für deine Labs:
| Umgebung | Beschreibung | Dokumentation |
|---|---|---|
| WSL | Für Windows-Systeme mit Ubuntu unter WSL | Ubuntu unter WSL einrichten |
| VM | Für lokale oder remote Ubuntu-VMs | Ubuntu in einer VM einrichten |
| Bare Metal | Für direkte Installation auf physischer Hardware | Ubuntu auf Bare Metal einrichten |
| Bestehender Cluster | Für vorbereitete Kubernetes-Testcluster | Cluster-Zugriff vorbereiten |
Lab-Umgebung provisionieren
Installiere die benötigten Basistools mit den vorhandenen Setup-Dateien:
Wenn ein Provisionierungsskript vorhanden ist, zuerst im Dry-Run prüfen:
chmod +x scripts/provision_kubernetes.sh
./scripts/provision_kubernetes.sh --dry-run
sudo ./scripts/provision_kubernetes.sh
Cluster prüfen
Prüfe danach, ob kubectl korrekt auf deinen Kubernetes-Cluster zeigt:
kubectl version --client
kubectl cluster-info
kubectl get nodes
kubectl get namespaces
Falls du lokal mit kind, minikube oder k3d arbeitest, nutze die vorhandenen Environment- und Kommando-Dokumente:
Workshop starten
Starte mit dem Curriculum und arbeite dich danach durch die Workshop-Level:
Empfohlene Reihenfolge:
docs/ -> workshops/ -> examples/ -> exercises/ -> assessments/
Zielgruppe
Dieser Workshop richtet sich an:
- Developer
- DevOps Engineers
- System Engineers
- Platform Engineers
- SREs
- Cloud Engineers
- Tech Leads
- Security Engineers
Ziel ist, Kubernetes nicht nur bedienen, sondern architektonisch verstehen, produktionsnah betreiben und sicher gestalten zu können.
Lernpfad
| Level | Schwerpunkt | Ergebnis |
|---|---|---|
| Fundamentals | Architektur, Control Plane, Nodes, Pods, Deployments, Services, Namespaces, Labels, Selectors, kubectl |
Du verstehst die Basiskonzepte und kannst einfache Ressourcen erstellen und prüfen. |
| Intermediate | Workloads, ConfigMaps, Secrets, Probes, Requests/Limits, HPA, Ingress, DNS, Storage, Scheduling, Helm, Kustomize | Du kannst typische Applikations-Workloads deklarativ betreiben. |
| Professional | Cluster-Architektur, Distributionen, etcd, Lifecycle, CNI/CSI, Observability, GitOps, Add-ons, Multi-Tenancy, Autoscaling, Cost Management, Backup | Du verstehst Kubernetes als Plattform und kannst Betriebsaspekte einordnen. |
| Advanced + Security | Threat Modeling, RBAC, Service Accounts, API Server, etcd Security, Pod Security Standards, NetworkPolicies, Admission Control, Image Security, Runtime Security, Incident Response | Du kannst Kubernetes sicherer betreiben und typische Angriffs- und Fehlerbilder analysieren. |
Aufbau
Workshop-Aufbau
Alle Workshops folgen derselben Grundstruktur. Der fachliche Inhalt unterscheidet sich je Technologie.
.
├── assessments/
├── docs/
├── examples/
├── exercises/
├── media/
│ └── pics/
├── scripts/
├── workshops/
├── LICENSE.md
└── README-DE.md
| Pfad | Zweck |
|---|---|
docs/ |
Referenzdokumentation, Environment-Anleitungen, Provisionierung, Zertifizierungen und ergänzende Konzepte |
workshops/*-DE.md |
Deutsche Workshop-Level |
workshops/*-EN.md |
Englische Workshop-Level |
exercises/ |
Übungen, Aufgaben und Abgaben je Level |
assessments/ |
Lernkontrollen, Prüfungsfragen und Abschlussprüfung |
examples/ |
YAML-Beispiele, Tooling-Labs und lokale Demonstrationen |
scripts/ |
Hilfsskripte für Setup, Validierung oder Provisionierung |
media/pics/ |
Bilder und visuelle Materialien |
Voraussetzungen
Du benötigst mindestens:
- Linux-, macOS- oder WSL-Shell
- Grundkenntnisse zu Containern
- Grundkenntnisse zu YAML
gitkubectl- Zugriff auf eine Kubernetes-Übungsumgebung
Optional hilfreich:
- kind
- minikube
- k3d
- Helm
- Kustomize
- stern
- k9s
- kubectx
- kubens
- Trivy
- Kyverno
Link-Konvention
Interne Links in dieser Übersicht führen zu den zugehörigen Workshop-Inhalten. Externe Links zeigen auf die offiziellen Projektseiten.
Beispiele:
[Curriculum lesen](docs/curriculum-kubernetes-DE.md)
[Fundamentals starten](workshops/01-fundamentals-kubernetes-DE.md)
[Ubuntu unter WSL einrichten](docs/environment-wsl-kubernetes-DE.md)
Offizielle Dokumentation
Tools und Projekte
- 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
Sprach- und Code-Konvention
- Markdown-Inhalte werden in Deutsch und Englisch gepflegt, aber nach Sprache getrennt.
- Die deutsche Version spricht dich direkt mit
duan. - Code, Kommandos, Dateinamen, Variablen und Code-Kommentare bleiben Englisch.
- Produktive Cluster, Secrets, Tokens, private Keys und Kundendaten dürfen nicht in Labs verwendet werden.
- Beispielwerte müssen klar als Dummy-Werte erkennbar sein.
- Workshop-Dateien sollen fachlich konsistent benannt werden.
Arbeitsweise
Branch erstellen
Arbeite nicht direkt auf main oder master. Nutze eine eigene, sprechende Branch mit Username und Thema:
git checkout -b workshop/<username>/<topic>
Beispiel:
git checkout -b workshop/alex/kubernetes-networking-lab
Änderungen sollen über Pull Request oder Merge Request reviewt werden.
Sicherheits- und Credential-Hinweise
- Keine Passwörter committen.
- Keine Tokens oder API-Keys committen.
- Keine SSH-Private-Keys committen.
- Keine
.env-Dateien mit echten Secrets committen. - Keine kubeconfig-Dateien mit produktiven Credentials committen.
- Keine Kundendaten oder produktiven Cluster-Dumps verwenden.
- Beispielkonfigurationen nur mit Dummy-Werten verwenden.
.gitignorevor neuen Beispielen prüfen.
Skripte ausführen
Provisionierung zuerst im Dry-Run prüfen:
chmod +x scripts/provision_kubernetes.sh
./scripts/provision_kubernetes.sh --dry-run
Wenn die Ausgabe plausibel ist, kannst du die Provisionierung ausführen:
sudo ./scripts/provision_kubernetes.sh
sudo wird nur für Paketinstallation benötigt. Skripte dürfen keine destruktiven Reset-Aktionen ohne explizite Bestätigung ausführen.
Interne Workshop-Verlinkungen
Lizenz
Das Lernmaterial steht, sofern nicht anders angegeben, unter CC BY-NC-SA 4.0. Eine kommerzielle Nutzung ist damit nicht erlaubt.
Wichtig: Bilder und visuelle Medien unter media/, insbesondere media/pics/, sind davon ausgenommen. Diese Bilder wurden von Anastasios Karasakalidis erstellt und dürfen nur im Rahmen dieses Workshops angezeigt werden. Eine separate Nutzung, Weitergabe, Veränderung oder Wiederveröffentlichung ist ohne vorherige schriftliche Genehmigung nicht erlaubt.
Kontakt: anastasios.karasakalidis@orthevs.com