Container (Docker)
Eine Technologie, die Anwendungen mit allen Abhängigkeiten in isolierte, portable Pakete verpackt – damit sie überall gleich laufen.
Eine Open-Source-Plattform zur Automatisierung von Deployment, Skalierung und Verwaltung von Container-Anwendungen – der Standard für Container-Orchestrierung.
Kubernetes (K8s) ist das De-facto-Standard-System für Container-Orchestrierung in der Cloud. Es löst das Problem, das entsteht, wenn eine Anwendung aus Dutzenden oder Hunderten von Containern besteht, die auf vielen Servern laufen müssen – zuverlässig, skalierbar und selbstheilend. Für KI-Produktionssysteme ist Kubernetes heute unverzichtbar: Inferenz-Server, Preprocessing-Pipelines und Monitoring-Dienste laufen alle als separate Container, die Kubernetes koordiniert. Frameworks wie Kubeflow bauen direkt auf Kubernetes auf und machen es zur Plattform für den gesamten ML-Lifecycle. Kubernetes verwaltet GPU-Ressourcen, skaliert Inferenz-Server automatisch bei Last und stellt sicher, dass ausgefallene Pods neu gestartet werden.
Kubernetes (K8s) ist der Standard für Container-Orchestrierung. Wenn du hunderte Container auf dutzenden Servern betreibst, sorgt Kubernetes dafür, dass alles läuft.
Was Kubernetes macht:
Brauche ich Kubernetes? Für kleine Projekte: Nein, Managed Services (Vercel, Railway) sind einfacher. Kubernetes lohnt sich bei vielen Services, komplexen Skalierungsanforderungen oder voller Infrastruktur-Kontrolle.
| Konzept | Beschreibung |
|---|---|
| Pod | Kleinste Einheit, enthält einen oder mehrere Container |
| Deployment | Definiert gewünschten Zustand (Replicas, Image, Resources) |
| Service | Stabiler Netzwerk-Endpunkt für Pods |
| Ingress | HTTP-Routing von außen zu Services |
| ConfigMap/Secret | Konfiguration und Geheimnisse |
| HPA | Horizontal Pod Autoscaler für automatische Skalierung |
Kubernetes ist wie ein Hafenmeister für Container: Er entscheidet, welcher Container auf welches Schiff (Server) kommt, startet neue Container bei Bedarf, ersetzt defekte und sorgt dafür, dass alles reibungslos läuft.
Automatisiert Deployment, Skalierung und Management von Container-Anwendungen
Self-Healing: Startet abgestürzte Container automatisch neu
Standard-Infrastruktur für ML-Plattformen und Microservices in Produktion
ML-Plattformen
Kubeflow, Seldon Core und andere ML-Tools laufen auf Kubernetes
Auto-Scaling
Automatische Skalierung von Inferenz-Servern basierend auf Last
Multi-Service-Deployment
Orchestrierung von Microservices mit Service Discovery und Load Balancing
Für kleine Projekte und einzelne Services: Nein. Managed Services (Vercel, Railway, Fly.io) sind einfacher. Kubernetes lohnt sich bei vielen Services, komplexen Skalierungsanforderungen oder wenn du volle Kontrolle über die Infrastruktur brauchst.
K8s ist die Kurzform von Kubernetes – K, 8 Buchstaben (ubernete), s. Ähnlich wie i18n für Internationalization.
Um eine Anwendung in Kubernetes zu skalieren, können Sie den Befehl 'kubectl scale' verwenden, um die Anzahl der Replikate eines Pods zu erhöhen oder zu verringern. Alternativ können Sie auch Horizontal Pod Autoscaler einrichten, der die Anzahl der Pods basierend auf der aktuellen Last automatisch anpasst.
Häufige Fehler bei der Kubernetes-Konfiguration sind falsche Ressourcenlimits, unzureichende Netzwerkkonfigurationen und das Versäumnis, Sicherheitsrichtlinien zu implementieren. Es ist wichtig, die Dokumentation zu konsultieren und Best Practices zu befolgen, um diese Probleme zu vermeiden.