Viele Container einfach zu verwalten strebt die von Google entwickelte Software Kubernetes an. Nun erreicht sie Version 1.4, die sich vor allem einfacher installieren und nutzen lassen soll.
Ein Fokus für Kubernetes 1.4 lag laut dem offiziellen Release-Announcement auf Installation und Handhabung der Container-Verwaltung. So reduziert “kubeadm” den Cluster-Bootstrapping-Prozess auf zwei Kommandos, “kubeadm init” und “kubeadmin join”. Ist Kubernetes installiert, startet der erste Befehl den Master, während der zweite die Nodes ins Cluster hängt. Das ermöglichen unter anderem zwei neue Discovery- und Zertifikats-APIs für Kubernetes.
Für die meisten Linux-Distributionen gibt es zudem Kubernetes-Pakete, die sämtliche Abhängigkeiten gleich mit installieren, der Clustermanager lässt sich daher über “apt” und “yum” unter anderem auf Red Hat und Ubuntu 16.04 einspielen. Add-on-Deployments, etwa für Overlay-Netzwerke, ergänzt der Admin mit nur einem Kommando über ein Daemonset.
Nicht alle Anwendungen wurden von ihren Entwicklern für den Einsatz in Containern konzipiert. Kubernetes will daher Features anbieten, die ein Deployment solcher Anwendungen erleichtern. Dazu gehört etwa Scheduled Jobs (noch in der Alpha), um Batch-Jobs in regulären Intervallen zu starten. Init-Container befinden sich in der Beta-Phase und fokussieren sich auf Anwendungen, die ein oder mehrere Container starten, bevor sie selbst loslaufen. Dynamic PVC Provisioning erreicht die Beta und erlaubt es den Cluster-Admins, über das Storage-Class-API verschiedene Storage Provisioner für Volumes anzubieten. Nicht zuletzt erwarten Interessierte mehrere Helm-Charts für bekannte zustandsbehaftete Anwendungen wie Maria DB und MySQL.
Auch einen weiteren, häufig geäußerten Kundenwunsch erfüllt Kubernetes 1.4, nämlich den nach Clustern, die Regionen und Cloudanbieter überspannen. Federated Replica Sets erreichen das Betastadium, auch die Federation-Dienste Secrets, Events und Namespaces sind nun Teil des Federation-API. Wer auf die Google Cloud Platform (GCP) setzt, kann zudem ein globales, virtuelles L7-Netzwerk mit Load Balancing spannen, das Dienste über mehrere Cluster innerhalb von GCP verteilt. Wer als Client auf dieses als Federated Ingress bezeichnete Cluster zugreift, landet bei einem Cluster, das sich möglichst in der Nähe befindet. Das Ganze steckt noch im Alphastadium.
Verwalter von mandantenfähigen Clustern erhalten die Möglichkeit, die Rechte besser auf die Kundensysteme, Infrastruktur-Komponenten und Nutzer der Systeme zuzuschneiden. Dabei helfen App-Armor-Support und eine Pod-Security-Policy. Ansonsten führt Kubernetes die Scheduler “inter-pod affinity” und “anti-affinity” ein und können Admins Cluster-Add-ons wie DNS, Heapster und Kube Dashboard mit Vorrang behandeln. Die beim Clustermanagement gelöschten Pods wirken sich nicht mehr allzu negativ aus, es gibt Volume-Plugins für Quobyte und Azure Data Disk. Nicht zuletzt unterstützt Kubernetes jetzt Swagger 2.0 und Swagger-Clients, die nicht in Go geschrieben sind.
Wer es noch genauer braucht, schaut am besten in die ausführlichen Release Notes. Die aktuelle Version 1.4 steht auf Github zum Download bereit.




