Kubernetes 1.15 bietet mehr Erweiterbarkeit über Custom Resource Definitions

Das Update der Container-Orchestrierung Kubernetes bereitet auf die generelle Verfügbarkeit von CRDs und Admission Webhooks vor.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Container

(Bild: dpa, Christian Charisius)

Lesezeit: 3 Min.
Von
  • Matthias Parbel

Die Container-Orchestrierung Kubernetes liegt ab sofort in Version 1.15 vor. Das zweite Release des laufenden Jahres wartet mit insgesamt 25 Neuerungen auf – allerdings sind nur zwei davon als stabil eingestuft, der Rest befindet sich noch im Beta- beziehungsweise Alpha-Stadium. Zu den stabilen Ergänzungen zählen zwei neue Befehle für das Command-Line Interface Kubectl: get und describe sollen das Bauen von Drittanbieter-API-Erweiterungen und Custom Resource Definitions (CRDs) erleichtern. Kubernetes-Entwickler sollen darüber hinaus von der jetzt stabilen Unterstützung für Go-Module profitieren.

Das zum Ausführen von Befehlen für Kubernetes-Cluster ausgelegte CLI war bereits im letzten Release Kubernetes 1.14 stark überarbeitet worden. Die nun neu hinzugekommenen Kubectl-Kommandos sind nur eine von vielen weiteren vorbereitenden Maßnahmen rund um die angepeilte generelle Verfügbarkeit (General Availability) von Custom Resource Definitions und Admission Webhooks, die das Kubernetes-Team für eines der nächsten Releases der Container-Orchestrierung anpeilt.

Das auf OpenAPI basierende Validierungsschema in CRDs soll mittelfristig auf das Konzept des Structural Schema überführt werden, das grundsätzlich die nicht-polymorphe und vollständige Typisierung jedes Feldes in einer CustomResource vorsieht. Das in Kubernetes 1.15 dahingehend angepasste OpenAPI-Publishing für CRDs zielt auf Structural Schema ab – zwingend vorgeschrieben ist es vorläufig aber noch nicht.

Die strukturelle Validierung ist allerdings Voraussetzung für die ebenfalls als Beta verfügbare neue CRD-Pruning-Funktion. Sie erlaubt das automatische Entfernen unbekannter Felder in Objekten, die an die Kubernetes-API geschickt werden, und soll verbesserter Datenkonsistenz und Sicherheit dienen. Pruning lässt sich in der CRD mit dem Befehl spec.preserveUnknownFields: false aktivieren. Darüber hinaus stehen Anwendern zwei neue Beta-Funktionen rund um Webhooks zur Verfügung. Die betreffen einerseits die Möglichkeit, "on-the-fly" zwischen verschiedenen Versionen zu konvertieren, wie es Nutzer von nativen Ressourcen gewohnt sind, und zweitens Verbesserungen beim Wiederaufruf.

Das neue kubeadm-Logo

(Bild: Kubernetes)

Im Zuge der Bemühungen, die Installation, das Upgrade und die Konfiguration von Kubernetes weiter zu vereinfachen, hat auch kubeadm einige Verbesserungen erfahren. So steht unter anderem High Availability (HA) als Beta-Funktion zur Verfügung. Anwender können die bereits vertrauten kubeadm-Kommandos init und join verwenden, um eine HA-Kontrollebene zu konfigurieren und zu deployen. Auch das Zertifikate-Management soll nun robuster arbeiten. Zu guter Letzt hat kubeadm nun auch ein eigenes Logo bekommen.

Eine komplette Übersicht aller Verbesserungen der neuen Kubernetes-Version findet sich im offiziellen Blogbeitrag zum Release. Wer Kubernetes ausprobieren möchte, findet das Release der Container-Orchestrierung auf GitHub. (map)