- Authors

- Name
- Phillip Pham
- @ddppham
TL;DR
- Container Orchestrierung automatisiert Deployment, Skalierung, Load Balancing, Health Checks und Recovery von Container-Anwendungen
- Kubernetes ist der Industriestandard: Open Source, von Google entwickelt, laeuft auf allen grossen Cloud-Plattformen
- Kernvorteile: automatische Skalierung (HPA), Self-Healing bei Ausfaellen, Rolling Updates ohne Downtime und integriertes Load Balancing
- Kubernetes lohnt sich ab 3+ Anwendungen/Services mit schwankender Last und Bedarf an Zero-Downtime-Deployments
- Deutsche Managed-Kubernetes-Anbieter: AWS EKS (Frankfurt), Azure AKS (Frankfurt/Berlin), Google GKE (Frankfurt), IONOS, Hetzner
Container Orchestrierung mit Kubernetes: Der komplette Guide
Container Orchestrierung ist die automatische Verwaltung von Containern in der Cloud. Kubernetes ist das führende Tool für Container-Orchestration. Dieser Guide erklärt alles, was Sie wissen müssen.
Was ist Container Orchestrierung?
Container Orchestrierung ist die automatische Steuerung, Skalierung und Verwaltung von Container-Anwendungen:
Container Orchestrierung = Automatisierung von:
├── Deployment (Container starten)
├── Scaling (Mehr/weniger Container)
├── Load Balancing (Traffic verteilen)
├── Health Checks (Überwachung)
├── Updates (Neue Versionen ausrollen)
└── Recovery (Ausfälle beheben)
Warum braucht man Container Orchestrierung?
Ohne Orchestrierung:
Server 1: Container A, B, C (manuell gestartet)
Server 2: Container D, E (manuell gestartet)
Server 3: Container F (manuell gestartet)
→ Server 2 fällt aus
→ Admin muss manuell eingreifen
→ Container D, E müssen woanders gestartet werden
→ Downtime: 30+ Minuten
Mit Container Orchestrierung (Kubernetes):
Kubernetes Cluster:
├── Server 1: Pods automatisch verteilt
├── Server 2: Pods automatisch verteilt
└── Server 3: Pods automatisch verteilt
→ Server 2 fällt aus
→ Kubernetes erkennt Ausfall automatisch
→ Pods werden auf andere Server verschoben
→ Downtime: Sekunden
Kubernetes: Der Standard für Container Orchestrierung
Was ist Kubernetes?
Kubernetes (auch K8s genannt) ist das meistgenutzte Container-Orchestrierungs-Tool:
- Entwickelt von Google
- Open Source (kostenlos)
- Industriestandard seit 2018
- Läuft auf allen großen Cloud-Plattformen
Kubernetes Architektur
┌─────────────────────────────────────────────────────────────┐
│ KUBERNETES CLUSTER │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────┐ │
│ │ Control Plane │ ← Steuert den Cluster │
│ │ (Master) │ │
│ │ │ │
│ │ - API Server │ ← Schnittstelle für Befehle │
│ │ - Scheduler │ ← Verteilt Container auf Server │
│ │ - Controller │ ← Überwacht und korrigiert │
│ │ - etcd │ ← Speichert Cluster-Zustand │
│ └────────────────┘ │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Node 1 │ │ Node 2 │ │ Node 3 │ │
│ │ (Worker) │ │ (Worker) │ │ (Worker) │ │
│ │ │ │ │ │ │ │
│ │ ┌────────┐ │ │ ┌────────┐ │ │ ┌────────┐ │ │
│ │ │ Pod │ │ │ │ Pod │ │ │ │ Pod │ │ │
│ │ │(App A) │ │ │ │(App A) │ │ │ │(App B) │ │ │
│ │ └────────┘ │ │ └────────┘ │ │ └────────┘ │ │
│ │ ┌────────┐ │ │ ┌────────┐ │ │ ┌────────┐ │ │
│ │ │ Pod │ │ │ │ Pod │ │ │ │ Pod │ │ │
│ │ │(App B) │ │ │ │(App C) │ │ │ │(App C) │ │ │
│ │ └────────┘ │ │ └────────┘ │ │ └────────┘ │ │
│ └────────────┘ └────────────┘ └────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Kubernetes Grundkonzepte
| Konzept | Beschreibung |
|---|---|
| Pod | Kleinste Einheit, enthält 1+ Container |
| Deployment | Definiert wie viele Pods laufen sollen |
| Service | Macht Pods von außen erreichbar |
| Namespace | Logische Trennung (z.B. dev/prod) |
| Node | Server, auf dem Pods laufen |
Container Orchestrierung vs. Container
Container (Docker)
# Einzelner Container starten
docker run -d -p 8080:80 nginx
# Problem: Nur auf einem Server, keine Skalierung
Container Orchestrierung (Kubernetes)
# kubernetes-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3 # 3 Container automatisch verteilt
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
# Deployment starten
kubectl apply -f kubernetes-deployment.yaml
# → 3 Pods automatisch auf verschiedenen Servern
# → Automatische Neustart bei Ausfall
# → Einfache Skalierung möglich
Vorteile der Container Orchestrierung
1. Automatische Skalierung
# HorizontalPodAutoscaler
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
spec:
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
averageUtilization: 70
Kubernetes skaliert automatisch basierend auf CPU-Last.
2. Self-Healing
Pod stirbt → Kubernetes erkennt das → Neuer Pod startet automatisch
Keine manuelle Intervention nötig!
3. Rolling Updates
# Neue Version ohne Downtime
kubectl set image deployment/myapp myapp=myapp:v2
# Kubernetes:
# 1. Startet neue Pods mit v2
# 2. Wartet bis sie ready sind
# 3. Beendet alte Pods mit v1
# 4. → Zero Downtime!
4. Load Balancing
Traffic → Service → Pods (automatisch verteilt)
Kubernetes verteilt Anfragen gleichmäßig auf alle Pods.
Container Orchestrierung Alternativen
| Tool | Beschreibung | Einsatz |
|---|---|---|
| Kubernetes | Industriestandard, komplex | Enterprise, große Projekte |
| Docker Swarm | Einfacher, weniger Features | Kleine Teams, Einstieg |
| Nomad | HashiCorp, flexible Workloads | Multi-Workload-Umgebungen |
| OpenShift | Kubernetes mit Enterprise-Features | Große Unternehmen |
Empfehlung: Kubernetes für die meisten Anwendungsfälle - es ist der Industriestandard.
Container Orchestrierung für deutsche Unternehmen
Compliance-Anforderungen
- DSGVO: Daten in deutschen/EU-Rechenzentren
- BSI: IT-Grundschutz für Container
- Branchenspezifisch: BAIT, VAIT, KRITIS
Managed Kubernetes in Deutschland
| Anbieter | Service | Rechenzentrum |
|---|---|---|
| AWS | Amazon EKS | Frankfurt |
| Azure | Azure AKS | Frankfurt, Berlin |
| Google GKE | Frankfurt | |
| IONOS | Managed Kubernetes | Deutschland |
| Hetzner | Hetzner Cloud | Nürnberg, Falkenstein |
Erste Schritte mit Container Orchestrierung
1. Lokal testen
# Minikube installieren (lokales Kubernetes)
brew install minikube # macOS
minikube start
# Ersten Pod starten
kubectl run hello --image=nginx
kubectl expose pod hello --port=80 --type=NodePort
# Zugriff
minikube service hello
2. Managed Kubernetes nutzen
# Azure AKS (Beispiel)
az aks create --resource-group myRG --name myCluster --node-count 3
az aks get-credentials --resource-group myRG --name myCluster
# Jetzt können Sie kubectl verwenden
kubectl get nodes
3. Erste Anwendung deployen
# myapp.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 2
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: nginx:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: myapp
spec:
type: LoadBalancer
selector:
app: myapp
ports:
- port: 80
kubectl apply -f myapp.yaml
kubectl get pods
kubectl get service myapp
Wann Container Orchestrierung nutzen?
Ja, wenn...
- Sie 3+ Anwendungen/Services haben
- Ihre Last schwankt
- Sie automatisch skalieren wollen
- Zero-Downtime-Deployments wichtig sind
- Sie auf Multi-Cloud setzen
Nein, wenn...
- Sie nur eine einfache Website haben
- Ihr Team keine DevOps-Erfahrung hat
- Budget unter 500€/Monat liegt
- Keine Skalierung nötig ist
Zusammenfassung
| Aspekt | Ohne Orchestrierung | Mit Kubernetes |
|---|---|---|
| Skalierung | Manuell | Automatisch |
| Ausfälle | Manueller Eingriff | Self-Healing |
| Updates | Downtime | Zero-Downtime |
| Load Balancing | Manuell konfiguriert | Automatisch |
| Komplexität | Niedrig | Mittel-Hoch |
Container Orchestrierung mit Kubernetes ist der Industriestandard für moderne Anwendungen. Der Einstieg erfordert Lernaufwand, aber die Vorteile überwiegen bei wachsenden Anwendungen.
Weiterführende Artikel:
- Kubernetes Hands-on Tutorial: Erste Schritte
- Kubernetes in 30 Tagen lernen
- Kubernetes Komponenten und Komplexität verstehen
- Kubernetes für Entscheider: Was CTOs wissen müssen
- Managed Service vs. Inhouse: Der Vergleich
Sie wollen Container Orchestrierung nutzen, aber ohne den Komplexitäts-Overhead? Als Managed Service Partner übernehmen wir das Kubernetes-Management für Sie - Sie profitieren von den Vorteilen, wir kümmern uns um den Betrieb.
Kubernetes-Beratung gesucht?
Wir helfen deutschen Unternehmen bei der Kubernetes-Implementierung, Migration und Optimierung. DSGVO-konform und praxiserprobt.
📖 Verwandte Artikel
Weitere interessante Beiträge zu ähnlichen Themen
Kubernetes Bootcamp Deutschland: Finden Sie den passenden Workshop
Entdecken Sie den idealen Kubernetes Bootcamp oder Workshop in Deutschland für Ihr Team. Erfahren Sie, wie praxisnahe Intensivkurse, Kosten, Fördermöglichkeiten und die Auswahlkriterien Ihnen helfen, nachhaltig Kubernetes-Kompetenz für Ihr Unternehmen aufzubauen und den digitalen Wandel im deutschen Mittelstand erfolgreich zu gestalten.
Java Spring Boot auf Kubernetes containerisieren
Spring Boot Anwendungen für Kubernetes containerisieren: Multi-Stage Dockerfile, JVM-Tuning, Health Checks mit Actuator und fertige Deployment-YAMLs.
Image Pull Policies und Private Registry einrichten
Kubernetes Image Pull Policies verstehen und private Registries mit imagePullSecrets konfigurieren – von Always bis Never und Harbor-Integration.
Legacy-Modernisierung: Von VMs zu Kubernetes
Legacy-Anwendungen von VMs zu Kubernetes migrieren: Die 6 Rs der Modernisierung, Containerisierung einer 3-Tier-App und Datenbank-Strategien.
Node.js auf Kubernetes: Express-App deployen
Express-Apps auf Kubernetes deployen mit Multi-Stage Dockerfile, Graceful Shutdown, Resource Limits und HPA für stabile Production-Cluster.