Kubernetes 1.25: Stabilität für StatefulSets und DaemonSets im Rollout
Entdecken Sie die neuen stabilen Features in Kubernetes 1.25, die Rollouts von StatefulSets und DaemonSets optimieren.
Einleitung
Mit der Veröffentlichung von Kubernetes 1.25 gibt es spannende Neuigkeiten für Entwickler und DevOps-Teams: Zwei wichtige Features, minReadySeconds
für StatefulSets und maxSurge
für DaemonSets, haben den Status “stabil” erreicht. Diese Änderungen verbessern die Handhabung von Rollouts und erhöhen die Verfügbarkeit von Anwendungen.
Was ändert sich konkret für Entwickler/DevOps-Teams?
Die neuen stabilen Features bieten Entwicklern eine verbesserte Steuerung über den Rollout-Prozess von StatefulSets und DaemonSets. minReadySeconds
gibt Teams die Möglichkeit, sicherzustellen, dass ein Pod für eine bestimmte Zeit bereit ist, bevor er als verfügbar gilt. Gleichzeitig ermöglicht maxSurge
, dass während eines Rollouts mehrere Instanzen eines Pods auf einem Knoten laufen können, was die Ausfallzeiten minimiert.
Praktische Beispiele oder Anwendungsfälle
minReadySeconds für StatefulSets
Nehmen wir an, Sie betreiben einen StatefulSet für eine datenbankgestützte Anwendung. Mit minReadySeconds
können Sie sicherstellen, dass jeder Pod genügend Zeit hat, um sich zu initialisieren – z.B. Cache-Daten zu laden – bevor er als verfügbar gemeldet wird. Dies ist besonders nützlich, wenn Ihre Anwendung von einer schnellen Reaktionszeit abhängt. Hier ein Beispiel, wie Sie minReadySeconds
konfigurieren:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: meine-anwendung
spec:
updateStrategy:
type: RollingUpdate
minReadySeconds: 10
...
maxSurge für DaemonSets
Stellen Sie sich vor, Sie verwenden DaemonSets für systemnahe Komponenten wie CNI- oder CSI-Plugins. Mit maxSurge
können Sie sicherstellen, dass während eines Rollouts zusätzliche Pods laufen, um die Verfügbarkeit zu gewährleisten. Das bedeutet, dass selbst während der Aktualisierung niemand auf wichtige Netzwerkdienste verzichten muss. Hier ist, wie Sie maxSurge
einrichten:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: mein-daemonset
spec:
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 2
...
Diese neuen Features in Kubernetes 1.25 sind nicht nur technische Verbesserungen, sondern tragen auch dazu bei, die Stabilität und Zuverlässigkeit Ihrer Anwendungen zu erhöhen. Bei ayedo freuen wir uns, Ihnen als Kubernetes-Partner zur Seite zu stehen und Ihnen bei der Implementierung dieser spannenden neuen Funktionen zu helfen.
Quelle: Kubernetes Blog