Kubernetes

Kubernetes (K8s) ist das Standard-System zur Orchestrierung von Containern — die in Docker integrierte, einfachere Alternative ist Docker Swarm. Es automatisiert Deployment, Skalierung und Netzwerk von Container-Anwendungen. Zentrale Konzepte: Pods, Deployments, Services, Namespaces. Wer Zugriffe auf den Cluster kontrolliert, vergibt Rechte über RBAC-Rollen, vergibt Identitäten an Anwendungen über ServiceAccounts und bündelt Berechtigungen in einer Role. Für eigene Objekttypen lässt sich die API über Custom Resource Definitions erweitern; die Instanzen heißen Custom Resources und werden dauerhaft von Kubernetes-Operatoren verwaltet. Kubernetes prüft Container regelmäßig per Health Check (Liveness- und Readiness-Probes) und startet hängende Instanzen neu. Für die automatische Skalierung sorgt der Horizontal Pod Autoscaler (Pod-Anzahl), der Vertical Pod Autoscaler (Ressourcen) und der Cluster Autoscaler (Nodes). Für einmalige Aufgaben startet ein Job Pods bis zum Abschluss, ein CronJob plant solche Jobs zeitgesteuert, und ein ReplicaSet hält die gewünschte Anzahl von Pod-Repliken. Über Labels lassen sich Objekte markieren, mit Selectors gezielt auswählen; Annotations ergänzen beliebige Metadaten. Es läuft in der Cloud oder on-premises.

Die Rechte einzelner Container konfiguriert der SecurityContext; welche Pod-Sicherheitsstandards der Cluster durchsetzt, legt die Kubernetes Pod Security fest.