**Dies ist eine alte Version des Dokuments!**
Inhaltsverzeichnis
Kubernetes â Grundlagen (Pods, Nodes, Deployments, Services, Ingress)
Kubernetes (oft âK8sâ genannt) ist ein System zur Orchestrierung von Containern.
Es verwaltet automatisch:
- Deployment (Bereitstellung) von Containern
- Skalierung (mehr Container starten)
- Self-Healing (Neustart bei Fehlern)
- Updates ohne Ausfall
- Netzwerk zwischen Containern
- Storage fĂźr Container
Kubernetes ist der Standard in modernen Cloud-, DevOps- und CI/CD-Umgebungen.
1. Warum Kubernetes?
Docker allein startet Container â Kubernetes betreibt ganze Systeme.
Vorteile:
- automatische Skalierung
- Ausfallsicherheit
- Rollout / Rollback von Updates
- Lastverteilung
- Cluster Ăźber viele Server hinweg
- Self-Healing: Container werden automatisch ersetzt
Perfekt fĂźr:
- groĂe Webplattformen
- Microservices
- APIs
- Clouddienste
- Enterprise-Infrastruktur
2. Kubernetes Architektur â Ăberblick
Kubernetes besteht aus zwei Bereichen:
- Control Plane â steuert das Cluster
- Worker Nodes â fĂźhren Container aus
ASCII-Ăbersicht:
+---------------------+
| Control Plane |
| API Server |
| Scheduler |
| Controller Manager |
+---------------------+
|
|
+-----------+------------+
| |
+-------------+ +--------------+
| Worker Node | | Worker Node |
| Kubelet | | Kubelet |
| Container | | Container |
| Runtime | | Runtime |
+-------------+ +--------------+
3. Die wichtigsten Kubernetes-Objekte
Kubernetes arbeitet mit sogenannten Ressourcen oder Objekten.
Die wichtigsten:
- Pod
- Deployment
- Service
- Ingress
- ConfigMap
- Secret
- PersistentVolume (PV)
- PersistentVolumeClaim (PVC)
4. Pod
Der Pod ist die kleinste Einheit in Kubernetes.
Ein Pod enthält:
- einen oder mehrere Container
- gemeinsame IP-Adresse
- gemeinsames Volume
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.
5. Deployment
Ein Deployment steuert, wie viele Pods laufen und wie sie aktualisiert werden.
Funktionen:
- Skalieren (mehr/weniger Pods)
- automatische Neustarts
- Rolling Updates (ohne Downtime)
- Rollbacks bei Fehlern
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.
6. Service
Pods haben dynamische IPs â ein Service sorgt fĂźr stabile Erreichbarkeit.
Arten:
- ClusterIP â nur intern erreichbar
- NodePort â von auĂen Ăźber hohen Port erreichbar
* LoadBalancer â Cloud-Loadbalancer automatisch
* ExternalName â Alias zu externem DNS-Namen
ASCII:
Clients â Service â verteilt Traffic â mehrere Pods
Service = Kubernetes Loadbalancer.
7. Ingress
Ingress ist ein Reverse Proxy / Loadbalancer auf Layer 7 fĂźr HTTP/HTTPS.
Beispiel:
- https://api.example.com â Backend 1
- https://app.example.com â Backend 2
Ingress-Controller (du kennst das đ):
- Traefik
- Nginx Ingress
- HAProxy
- Istio Gateway
ASCII:
Client â Ingress â Service â Pods
Ingress ermĂśglicht:
- Routing nach Hostname/URL
- TLS-Zertifikate
- Load Balancing
- Middlewares
8. ConfigMaps & Secrets
ConfigMap
Konfigurationen (Text).
env: APP_MODE=production
Secret
PasswĂśrter / Zertifikate (Base64-kodiert, nicht verschlĂźsselt!)
env: DB_PASSWORD=****
9. Persistenter Speicher (Storage)
Pods sind flĂźchtig â Daten wĂźrden verloren gehen.
Daher nutzt man PV und PVC.
PersistentVolume (PV)
das eigentliche Storage-Backend
z. B. NFS, iSCSI, Ceph, lokal
PersistentVolumeClaim (PVC)
Anfrage eines Pods nach Speicher
ASCII:
PVC (Pod) â PV â Storage (NFS/SSD/Ceph)
10. Kubernetes Netzwerk
Jeder Pod bekommt:
- eigene IP (intern)
- kann mit allen Pods kommunizieren (by default)
CNI-Plugins regeln das Netzwerk:
- Calico
- Flannel
- Cilium (besser, modern)
- Weave
11. Skalierung
Kubernetes kann automatisch skalieren:
Horizontal Pod Autoscaler (HPA)
z. B. starte 10 zusätzliche Pods wenn CPU > 70%
Vertical Autoscaler
passt CPU/RAM an
Cluster Autoscaler
startet neue Nodes in der Cloud
12. Self-Healing
Kubernetes Ăźberwacht seine Pods:
Wenn:
- Pod crasht
* Node ausfällt
* Container hängt
Dann:
- Pod wird automatisch ersetzt
* Deployment sorgt fĂźr korrekte Anzahl
* Load Balancer leitet Traffic auf gesunde Pods
â
13. Kubernetes vs Docker Compose
| 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
14. Beispiele aus der Praxis
Microservices
Viele kleine Dienste:
- Auth-Service
* Payment-Service
* User-Service
Cloud-Apps
Kubernetes ist Grundlage von:
- Google Cloud
* Azure AKS
* AWS EKS
Home-Lab
Mini-Kubernetes mit:
- k3s
* MicroK8s
* kind
â
Zusammenfassung
- Kubernetes orchestriert Container automatisiert
- Pod = kleinste Einheit
* Deployment = steuert Pods, Updates, Skalierung
* Service = Load Balancer fĂźr Pods
* Ingress = HTTP/HTTPS Reverse Proxy
* PV/PVC = persistenter Speicher
* Kubernetes = Standard fĂźr moderne Cloud-Anwendungen