Während sich die Welt der Container-Orchestration weiterhin entwickelt, steigt Kubernetes-Version 1.28 als Meilenstein unnachgiebigen Fortschrittes und der Innovation empor. Mit Features, welche von überholten Kubectl-Event-Befehlen bishin zu anspruchsvollen, dynamischen Ressourcen-Umverteilung reichen, verspricht diese Version die Art und Weise, in welcher wir Container-Ökosysteme wahrnehmen und verwalten, gänzlich umzukrempeln.
Ob Sie nun ein am Monitoren von Metrics interessierter Administrator oder ein Entwickler sind, welcher nach Performance-Verbesserungen äugt, dem kann Kubernetes 1.28 eine Vielzahl an Upgrades zur Verbesserung der Orchestrations-Erfahrung bieten.
Tauchen Sie gemeinsam mit uns ein, während wir die bemerkenswerten Verbesserungen erforschen, welche die nächste Generation des Container-Managements auf den Kopf stellt.
SIG: sig-apps
Status: Beta
Feature: CronJobCreationAnnotation (Enabled by default)
Der Cronjob-Controller beinhält nun den erwarteten Zeitstempel, sobald ein Job ausgeführt wird:
batch.kubernetes.io/cronjob-scheduled-timestamp: "2016-05-19T03:00:00-07:00"
Einstellbare Job-Pod-Fehler-Verwaltung
SIG: sig-apps
Status: Beta
Feature: JobPodFailurePolicy (Enabled by default)
Verwalten von Pod-Fehlern in Jobs mithilfe der neuen „podFailurePolicy“. So lassen sich ohne Einfluss auf’s „backofflimit“ Neustarts verwalten.
SIG: sig-apps
Status: Beta
Feature: PodIndexLabel (Enabled by default)
Jobs wie auch StatefulSet-Controller unterstützen nun den Pod-Index als Label.
SIG: sig-auth
Status: Beta
Feature: KMSv2 (Enabled by default)
KMS v2 zielt darauf ab, die vorherigen Hürden seines Vorgängers zu überwinden, wie etwa die Performance oder die Manual-Key-Rotation. Mit einer aufgemöbelten Key-Hierarchie und besseren Überschaubarkeit bringt die aktualisierte Version zahlreiche Verbesserungen.
SIG: sig-auth
Status: Beta
Features: LegacyServiceAccountTokenTracking & LegacyServiceAccountTokenCleanUp (Both enabled by default)
Von Kubernetes 1.22 an sind die Tokens nicht länger autogeneriert, sondern werden von der TokenRequest-API beschafft. Damit sollen die Old-Style-Token weiter minimiert werden.
SIG: sig-auth
Status: Stable
Feature: APISelfSubjectReview (Enabled by default)
Die neue API offenbart die authentifizierte Identität, sei es nun ein Nutzer oder ein Service-Account. Die Info kann mit Hilfe eines CLI-Befehls abgerufen werden via „kubectl alpha auth whoami“ und unterstützt so in der Diagnose von Authentifikationsmalheuren.
SIG: sig-cli
Status: Alpha
Die Nutzung der „-i“- oder „--interactive“-Flags während der Nutzung von „kubectl delete“ liefert nun eine Vorschau der zu löschenden Objekte und ermöglicht so die direkte Bestätigung durch den Nutzer
SIG: sig-cli
Status: Stable
„kubectl get“-Event-Limitationen sind Geschichte mit der Verbesserung des „kubectl events“-Befehls und bietet verbesserte Watch-Kontrollen sowie Filtering. Dies ist seit der 1.28 nun vollständig in Stable eingerückt.
SIG: sig-instrumentation
Status: Beta
Das neue Update bringt zwei Stabilitäts-Level, genannt „Internal“ und „Beta“ für die Metrics. Die Beta-Metrics sind zuverlässiger und Forward-Compatibility.
SIG: sig-network
Status: Alpha
Feature: KubeProxyDrainingTerminatingNodes (Disabled by default)
Kube-proxy gewährleistet das reibungslose Abschalten von Verbindungen, sobald ein Node zugrunde geht. Auch existiert ein neuer /livez-Pfad für genauere Health-Checks.
SIG: sig-network
Status: Beta
Feature: ServiceNodePortStaticSubrange (Enabled by default)
Dieses Update erlaubt für mehr Kontrolle über den NodePort-Service und belässt die anfänglichen Ports der „service-node-port-range“ für eine statische Verteilung.
SIG: sig-network
Status: Beta
Feature: StableLoadBalancerNodeSet (Enabled by default)
Die Art und Weise, wie Nodes von der Liste des Load-Balancers entfernt werden wurde neu definiert. Dies reduziert unerwünschte Kettenreaktionen, so etwa sofortige Verbindungs-Terminierungen und Load-Balancer-Neusynchronisationen.
SIG: sig-network
Status: Stable
Die EndpointSlice-Reconciler-Logik wird aufgedeckt und zieht in ein neues Modul zur Nutzung im Custom-Endpoint-Controllern ein.
SIG: sig-network
Status: Stable
Feature: MinimizeIPTablesRestore (Enabled by default)
Kube-proxy erfährt eine Verbesserung im Iptables-Modus durch das Modifizieren wie Iptables funktionieren. Nun wird sich nur auf veränderte Regeln konzentriert.
SIG: sig-network
Status: Stable
Feature: IPTablesOwnershipCleanup (Enabled by default)
Als Aufräummaßnahme werden ungenutzte Iptables-Ketten, welche von Kubelet oder Kube-proxy geschaffen wurden, entfernt.
SIG: sig-network
Status: Stable
Feature: ExpandedDNSConfig (Enabled by default)
Die DNS-Konfiguration ist flexibler als zuvor und beinhaltet nun mehr Such-Pfade sowie längere Listen.
SIG: sig-network
Status: Stable
Feature: ProxyTerminatingEndpoints (Enabled by default)
Kube-proxy geht nun geschickter mit Traffic zu den Endpoints, welche dort verschwinden um. Dies hilft insbesondere beim Rollen neuer Updates, wenn die End-Points im „terminated“-Status verweilen.
Für ein umfassenderes Verständnis besuchen Sie die den Artikel von Kubernetes.io: „Advancements in Kubernetes Traffic Engineering“.
SIG: sig-node
Status: Introduction to Alpha
Feature: PodReadyToInitiateContainersCondition (Default: false)
Kubernetes 1.28 enthält nun einen weiteren Pod-Status mit der Benennung „PodReadyToInitiateContainersCondition“. Dieser Status zeigt auf, wenn der Pod seine Sandbox betritt und dessen Networking konfiguriert, was Cluster-Administratoren und Kubernetes-Controllern behilflich sein dürfte.
SIG: sig-node
Status: Introduction to Alpha
Feature: KubeletCgroupDriverDetectionFromCRI (Default: false)
Kubernetes 1.28 lässt Kubelet mithilfe der Container-Runtime den Cgroup-Treiber intuitiv bestimmen. Dadurch sollen diagnostische Komplikationen durch Diskrepanzen in der Konfiguration ausgehebelt werden.
SIG: sig-node
Status: Introduction to Alpha
Feature: ModularIndexedJob (Default: false)
Mit dem Release der Version 1.28 ermöglicht Kubernetes die Konfiguration eines Kubelets-Verzeichnisses. Durch Nutzung des neuen „--config-dir“-Arguments, können Nutzer nun mehrere .conf-Konfigurationsdateien einschleusen und so Setup-Prozesse rationalisieren.
SIG: sig-node
Status: Introduction to Alpha
Feature: ManagedSidecarContainers (Default: false)
Das neue Update treibt das Management von Sidecar-Containern voran. So bietet Kubernetes nun eine verbesserte Methode, um den Lifecycle eines Sidecar-Containers zu identifizieren als auch zu verwalten und dies in Korrelation mit den primären Containern.
SIG: sig-node
Status: Introduction to Alpha
Feature: DevicePluginCDIDevicesIntegration (Default: false)
Kubernetes 1.28 enthüllt eine weitere Verbesserung, bei welcher Device-Plugin-Entwickler nahtlos Anfragen an Container-Runtimes weiterleiten können und so die Device-Integrations-Fähigkeiten auf das nächste Level bringt.
SIG: sig-node
Status: Progression to Alpha
Feature: ProgressiveDynamicResourceAssignment (Default: false)
Dieses Feature, welches schon seit Version 1.26 seine Reise begann, befähigt Pods spezifische Ressourcen jenseits der konventionellen CPU- und Memory-Bedürfnisse anzufragen, was vor allem den Umgebungen, welche besonderen Ressourcenanforderungen haben, zugutekommt.
SIG: sig-node
Status: Progression to Alpha
Feature: StatelessUserNamespaceIntegrationInPods (Default: false)
Die Integration von Nutzer-Namespaces in Kubernetes 1.28 verstärkt die Sicherheit, indem Pod-Prozesse nun mit variierenden Nutzer-IDs anstelle der ID des Host-Nutzers laufen. Diese sind primär auf Linux-Systemen verfügbar.
SIG: sig-node
Status: Progression to Beta
Feature: TopologyManagerAdvancedPolicyOptions (Default: true)
Kubernetes beinhaltet nun eine erhöhte Wahrnehmung für System-Topologien und konzentriert sich dabei auf das Zuweisen von Aufgaben für die Abschätzung der CPU-Kerne für eine erhöhte Effizienz.
SIG: sig-node
Status: Progression to Beta
Feature: NodeMemorySwap (Default: true)
Mit dem Support von Swap auf Linux-Nodes, dient dieses Kubernetes-Feature dem Verhindern von sogenannten „Out-Of-Memory-Terminierungen“, wenn auch ein Warnhinweis bezüglich der potentiellen Latenz beigelegt wird.
Zusammenfassung:
Kubernetes-Version 1.28 markiert einen weiteren Meilenstein in dem Streben nach tadelloser Container-Orchestration. Von bedeutsamen Änderungen bei den Kubectl-Befehlen und Metrics im Bereich Stabilität bis hin zu erweiterten Netzwerk-Funktionen wie dem neudefinierten Ingress-Verbindungs-Health-Management, strotzt dieses Update nur mit Features, die sowohl blutigen Anfängern wie auch erfahrenen Kubernetes-Seglern helfen.
Verbessertes Node-Management, Optimierung der Iptables wie auch Features mit dem Fokus auf Nutzer-Sicherheit demonstrieren Kubernetes Hingabe, das Feedback der Community zu adressieren wie auch den sich stetig entwickelnden Hürden zu stellen.
Wir freuen uns auf zukünftige Entwicklungen, auch wenn mit Version 1.28 eine ziemliche hohe Messlatte gesetzt wurde, um die Grenzen des Möglichen im Reich der Container abermals zu sprengen.
Sie haben Fragen?
Wenn Sie Fragen haben, die noch nicht beantwortet sind, können Sie sich gerne an uns wenden.
Wir freuen uns auf den Kontakt mit Ihnen!
KubeOps GmbH
Hinter Stöck 17
72406 Bisingen
Germany
+49 7433 93724 90