Custom Resources sind fertig, sie dienen als Basis für API-Erweiterungen im frisch veröffentlichten Kubernetes 1.16. Endpoint Slices reduzieren den Overhead im Cluster, ein Topology Manager für Kubelet verteilt Hardware-Ressourcen feingranularer.
Custom Resources sind Erweiterungen des Kubernetes API. Eine Resource ist ein Endpoint in Kubernetes, zu dem eine Reihe von API-Objekten gehören. Über so genannte Custom Resource Definitions (CRD) lassen sich Komponenten in die Containerplattform einbinden, die nicht unbedingt zum Lieferumfang gehören. Admins binden diese Komponenten zur Cluster-Laufzeit dynamisch ein. Zugleich sind inzwischen aber viele Core-Funktionalitäten in Custom Resources auslagert, um Kubernetes möglichst modular zu halten.
Mit Kubernetes 1.16 gelten Custom Resources als ausgereift und sind im HTTP-API-Space über “apiextensions.k8s.io/v1” zu finden, das vorherige “/v1beta1” fällt also weg. Zugleich müssen Kubernetes-Admins auf ein paar Fußangeln achten, da einige Dinge, die zuvor optional waren, nun obligatorisch werden. Dazu zählen etwa Structural Schemas, die dafür sorgen, dass die API-Server genau wissen, welche Felder sich legitim in einer CRD befinden. Auch Validation Schemata und Pruning, das unbekannte Felder entfernt, gehören zu den verpflichtenden Neuerungen, die dafür sorgen sollen, ein stabiles API zu erhalten.
Endpoint Slices
Als Alternative zu Endpoints, aber noch im Alpha-Stadium verhaftet, sind die eingeführten Endpoint Slices. Sie sollen Kubernetes skalierbarer machen und betreffen besonders den Netzwerk-Bereich. Endpoint Resources repräsentieren in großen Clustern die Network Endpoints sämtlicher Pods, mitunter tausende. Das skaliert schlecht, und Dienste um Endpoints zu ergänzen oder Endpoints zu entfernen erzeugt ziemlichen Overhead im Cluster. Endpoint Slices splitten die Menge an zu verwaltenden Endpoints und begrenzen sie auf 100. Weil dann nur noch Slices der aktualisierten Teile durchs Cluster wandern, senkt das den Overhead. Zudem bieten sich Endpoint Slices als erweiterbare Resources an und spielen sowohl beim neuen Topology-Attribut eine Rolle als auch beim Verwalten von Adresstypen (IPv4/IPv6).
Ansonsten gibt es Alpha-Support für eine neue Kubelet-Komponente, den Topology Manager. Dieser verteilt Hardware-Ressourcen intelligenter auf einem Node, weil er weiß, wo sich Arbeitsspeicher, CPUs und Geräte befinden und welche Kombination die beste Performance liefert. Ein Feature namens Dual-Stack-Networking (Alpha) erlaubt es, Pods und Services sowohl über IPv4- als auch über IPv6-Adressen zu adressieren. Metriken lassen sich in einer Metrics Registry sammeln, gefeilt haben die Entwickler zudem am Umgang mit Datenträgern (Volumes). So ist Volume Resizing nun in Beta-Stadium angekommen. Nicht zuletzt gibt es ein eigenes Logo für die aktuelle Release, inspiriert durch die Apollo-Mission 16 (siehe Titelbild).



