Augen auf beim Update!

Kubernetes 1.16: Custom Resource Definitions reif für die Produktion & Überarbeitung der Metriken

Dominik Mohilo

© Shutterstock / Angela Rohde

Das dritte Release von Kubernetes in diesem Jahr bringt vor allem Überarbeitungen und Aktualisierungen, weniger neue Features. Insbesondere in Sachen APIs und Metriken wurden einige Umstellungen und Veränderungen vorgenommen, dafür erreichen die Custom Resource Definitions (CRDs) die generelle Verfügbarkeit und verlassen das Betastadium.

Bereits im vergangenen Juli wurde vom Kubernetes-Team angekündigt, dass einige APIs in Version 1.16 endgültig die Lichtung am Ende des Pfades erreichen würden. Zu den APIs, die nun nicht mehr unterstützt werden gehören: NetworkPolicy und PodSecurityPolicy (jew. in der API-Gruppe extensions/v1beta1) sowie DaemonSet, Deployment, StatefulSet und ReplicaSet (in den API-Gruppen extensions/v1beta1 bzw. extensions/v1beta2).

Das ab Kubernetes 1.16 zu nutzende NetworkPolicy API findet sich in networking.k8s.io/v1, während das PodSecurityPolicy API unter policy/v1beta1 hinterlegt ist. Die aktuellen APIs DaemonSet, Deployment, StatefulSet und ReplicaSet sind seit Version 1.9 unter apps/v1 erreichbar.

Ab Kubernetes 1.20 wird auch das API Ingress aus der Gruppe extensions/v1beta1 nicht mehr unterstützt, das Update muss hier auf das API in networking.k8s.io/v1beta1 erfolgen, das seit Kubernetes 1.14 verfügbar ist.

Für alle Migrationen gilt, dass bereits existierende persistente Daten nicht verloren gehen, sondern unter Verwendung des neuen APIs erhalten und aktualisiert werden können. Weitere Informationen dazu hat Vallery Lancey auf dem Kubernetes-Blog zusammengefasst.

Kubernetes 1.16: Das ist neu

Ein wichtiger Punkt des Updates ist die generelle Verfügbarkeit von Custom Resource Definitions (CRDs). Eine resource ist laut der Dokumentation von Kubernetes ein Endpunkt im Kubernetes API selbst, der ein Set von API-Objekten enthalten kann. Via custom resources kann Kubernetes individuell mit Funktionalität ausgestattet werden, die in keiner Standardinstallation vorhanden ist. Diese CRDs sind nun von dem Beta-Status, den sie seit der Einführung in Kubernetes 1.7 hatten, in den finalen Status übergegangen.

Das Kubernetes-Team hat zudem eine große Überarbeitung der Metriken durchgeführt, bzw. beendet, die bereits im vergangenen Jahr begonnen wurde. Dabei ging es vor allem darum, die Kubernetes-Metriken mit den entsprechenden Richtlinien in Einklang zu bringen. Eine Liste der neuen, überarbeiteten, als veraltet markierten und veränderten Metriken gibt es hier.

Auch in Sachen experimentelle Features ist Kubernetes 1.16 durchaus interessant. So wurden Endpoint Slices mit der aktuellen Version veröffentlicht, die sich noch im Alpha-Stadium befinden. Diese sollen eine erweiterbare und skalierbare Alternative zu den herkömmlichen Endpunkt-Ressourcen darstellen. Bei den existierenden Endpoint Resources muss jede einzelne Ressource Netzwerkendpunkte enthalten, die sämtliche Pods repräsentieren, die zu einem Service passen. Das kann unter entsprechenden Umständen zu extrem großen Datenmengen führen. Die Endpoint Slices sollen hier Abhilfe schaffen: Netzwerkendpunkte eines Service werden hierbei in mehrere Resources aufgeteilt, was die Datenmenge für Aktualisierungen deutlich reduzieren soll.

Java Whitepaper

Gratis-Dossier: Java 2020 – State of the Art

GraalVM, Spring Boot 2.2, Kubernetes, Domain-driven Design & Machine Learning sind einige der Themen, die Sie in unserem brandneuen Dossier 2020 wiederfinden werden!

Zu guter Letzt können sich besonders Windows-Nutzer über Kubernetes 1.16 freuen. Der Active Directory Group Managed Service Accound (GSMA) ist nun als Beta-Version nutzbar und ermöglicht es Windows-Containern, eine bestimme Identität über die Netzwerkgrenzen hinaus zu bewahren und mit anderen Ressourcen zu kommunizieren. Außerdem kann RunAsUserName als Alpha-Feature genutzt werden.

Sämtliche Informationen zum Update gibt es wie immer im zugehörigen Blog-Beitrag des Relase-Teams, wer es gerne etwas detaillierter möchte, findet auf GitHub die offiziellen Release Notes und natürlich auch den entsprechenden Download.

PS:

Auch das 32-köpfige Release-Team unter der Leitung von Lachlan Evenson, Principial Program Manager bei Microsoft, hat ein Maskottchen für das Release. Dieses basiert lose auf dem Abzeichen der Apollo-16-Mission und wurde von Ronan Flynn-Curran erstellt:


Das Release-Maskottchen für Kubernetes 1.16 / Quelle: Release Notes zu Kubernetes 1.16 / Ronan Flynn-Curran

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: