Kubernetes von Google als IT-Infrastruktur-Dirigent
Kubernetes orchestriert Container
Google setzt intern auf Microservices, die sich darauf konzentrieren, kleine Aufgaben zu lösen, sowie auf schlanke Container, die im Unterschied zu virtuellen Maschinen kein eigenes Betriebssystem brauchen und sich leicht ausrollen lassen. Container gelten als die geeignete Form für rasch skalierbare «Next Generation»-Applikationen.
Aparna Sinha zufolge kennzeichnet die IT-Infrastruktur von Google eine Kombination von Linux, Microservices, Containern und der Orchestrierung dieser Container mit Kubernetes. Googles Verhältnis zu Kubernetes skizziert sie so: «Beim Kubernetes-Projekt geht es in erster Linie darum, für den Rest der Welt eine Umgebung zu schaffen, in der Applikationen in einer verteilten Umgebung laufen können. Wir haben bei Google festgestellt, dass wir das nicht allein umsetzen können. Am Anfang waren es nur zwei Institutionen, die sich darum gekümmert haben – Google und Red Hat. Das hat sich geändert. Es gibt nun viele Leute aus vielen Firmen sowie Einzelpersonen, die hier mitarbeiten. Ihre unterschiedlichen Erfahrungen und Ansprüche gehen in das Projekt ein.» Nur mit solch einem Background könne ein Projekt dieser Art zu einem Erfolg werden.
Und erfolgreich ist Kubernetes ohne Zweifel. Nach etwas mehr als zwei Jahren Projektlaufzeit gibt es bereits 35 kommerzielle Versionen, die auf der gemeinsamen Arbeit aufbauen, darunter eine von VMware. «Diese Bandbreite spricht klar für den Erfolg von Kubernetes», sagt die Google-Managerin. Besonders viel beigetragen hätten Red Hat und seine Container-Plattform OpenShift.
Kubernetes 1.6
Als herausstechendes Merkmal der aktuellen Kubernetes-Version 1.6 nennt Sinha Multi-Workload- und Multi-Team-Fähigkeit grosser Cluster. Dazu erklärt sie: «Grosse Cluster sind sehr populär und werden von Hunderten von Unternehmen eingesetzt. Eine wichtige Rolle spielen dabei diese neuen Features: rollenbasierte Zugangskontrolle und dynamisches Storage-Provisioning. Mit RBAC (Role Based Access Control) führen wir Autorisierung auf dem Cluster-Niveau ein, das heisst, wir decken die gesamte Bandbreite von einzelnen Usern bis zu Multi-User-Clustern ab.»
Die zweite wichtige Neuerung betrifft laut Sinha den Storage-Bereich: «Storage-Klassen und die VPods, die mit ihnen assoziiert sind, unterstützen stabile Container-Umgebungen. Dynamisches Storage-Provisioning ist eine elementare Funktion für Container und Kubernetes. Da Container immer ihren Geist aufgeben können, braucht es ein automatisches Storage-Provisioning, um genug Speicherkapazität zu haben. Mit PVclaim (Persistent Volume claim) haben wir nun genügend Kapazität pro Speicherklasse (SSD, Festplatte und so weiter) zur Verfügung.»
Kubernetes ist in seiner gegenwärtigen Form eine Community, die sich auf der Basis des ursprünglich von Google gelieferten Know-hows um das Container-Management kümmert. Nicht zuletzt geht es dabei um das Management von 5000 oder mehr Node Clusters, das kontrollierte Abarbeiten von Computing- und Speicher-Prozessen (Scheduling) und besonders um Stabilität: Allein für Version 1.6 von Kubernetes wurden über 30 Features in dieser Richtung überarbeitet. Neue Funktionen werden sich in Zukunft auch des Themas Machine Learning annehmen.