Kubernetes (oft „K8s“ genannt) ist ein System zur Orchestrierung von Containern.
Es verwaltet automatisch:
Kubernetes ist der Standard in modernen Cloud-, DevOps- und CI/CD-Umgebungen.
Docker allein startet Container – Kubernetes betreibt ganze Systeme.
Vorteile:
Perfekt für:
Kubernetes besteht aus zwei Bereichen:
ASCII-Übersicht:
+---------------------+
| Control Plane |
| API Server |
| Scheduler |
| Controller Manager |
+---------------------+
|
|
+-----------+------------+
| |
+-------------+ +--------------+
| Worker Node | | Worker Node |
| Kubelet | | Kubelet |
| Container | | Container |
| Runtime | | Runtime |
+-------------+ +--------------+
Kubernetes arbeitet mit sogenannten Ressourcen oder Objekten.
Die wichtigsten:
Der Pod ist die kleinste Einheit in Kubernetes.
Ein Pod enthält:
Die Container in einem Pod sind eng gekoppelt.
Schema:
Pod ├── Container 1 (z. B. Webserver) └── Container 2 (z. B. Log-Exporter)
Pods sind flüchtig – sie werden ständig ersetzt.
Deshalb nutzt man Deployments, nicht einzelne Pods.
Ein Deployment steuert, wie viele Pods laufen und wie sie aktualisiert werden.
Funktionen:
Beispiel YAML:
apiVersion: apps/v1
kind: Deployment
metadata:
name: webapp
spec:
replicas: 3
template:
spec:
containers:
- name: app
image: nginx
Dieses Deployment startet 3 Pods mit Nginx.
Pods haben dynamische IPs – ein Service sorgt für stabile Erreichbarkeit.
Arten:
Schema:
Clients → Service → verteilt Traffic → mehrere Pods
Service = Kubernetes Loadbalancer.
Ingress ist ein Reverse Proxy / Loadbalancer auf Layer 7 für HTTP/HTTPS.
Beispiel:
Ingress-Controller (du kennst das 😉):
Schema:
Client → Ingress → Service → Pods
Ingress ermöglicht:
Konfigurationen (Text).
env: APP_MODE=production
Passwörter / Zertifikate (Base64-kodiert, nicht verschlüsselt!)
env: DB_PASSWORD=****
Pods sind flüchtig → Daten würden verloren gehen.
Daher nutzt man PV und PVC.
das eigentliche Storage-Backend
z. B. NFS, iSCSI, Ceph, lokal
Anfrage eines Pods nach Speicher
Schema:
PVC (Pod) → PV → Storage (NFS/SSD/Ceph)
Jeder Pod bekommt:
CNI-Plugins regeln das Netzwerk:
Kubernetes kann automatisch skalieren:
z. B. starte 10 zusätzliche Pods wenn CPU > 70%
passt CPU/RAM an
startet neue Nodes in der Cloud
Kubernetes überwacht seine Pods:
Wenn:
Dann:
| Funktion | Docker Compose | Kubernetes |
|---|---|---|
| Deployment | einfach | komplex, mächtig |
| Skalierung | manuell | automatisch |
| Self-Healing | nein | ja |
| Updates | manuell | rolling updates |
| Netzwerk | einfach | Cluster-weite Kommunikation |
| Betrieb | Einzelserver | mehrere Nodes |
Kurz: Compose = kleine Projekte Kubernetes = Großprojekte / Enterprise
Viele kleine Dienste:
Kubernetes ist Grundlage von:
Mini-Kubernetes mit: