Interview mit Klaus Ma

Kubernetes 2.0: „Nicht nur Microservices, auch High Performance Workloads sollten im Fokus liegen“
Keine Kommentare

Vier Jahre und ein bisschen mehr ist Kubernetes mittlerweile alt. Die Plattform zur Orchestrierung von Containern hat die Nutzerbasis mindestens ebenso geprägt, wie es zuvor durch Docker geschehen ist. Wir haben uns mit Klaus Ma, Kubernetes Maintainer, Co-Lead der SIG-scheduling und Entwickler bei IBM, über die vergangenen vier Jahre und die Zukunft von Kubernetes unterhalten. Außerdem gab er einen kleinen Einblick, was er sich für Kubernetes 2.0 wünschen würde.

Entwickler: Hallo Klaus und vielen Dank, dass du dir Zeit für unsere Fragen genommen hast. Du bist Co-Leiter der Special Interest Group (SIG) „Scheduling“. Was genau macht diese Gruppe?

Klaus Ma: Ich freue mich, dass ich meine Erfahrungen mit der Kubernetes Community teilen kann. Wie du schon sagst, bin ich der Co-Leiter der SIG „Scheduling“. Die Leitung teile ich mir mit Bobby, der bei Google arbeitet. Bei der Scheduling Special Interest Group handelt es sich um eine wirklich interessante Gruppe, die für die Komponenten verantwortlich sind, welche die Entscheidungen zur Platzierung von Pods treffen. Die Gruppe interagiert mit mehreren anderen Placement SIGs, wie z.B. sig-node oder sig-apps.

Wir erstellen Kubernetes Scheduler und Scheduling Features für Pods. Wir designen und implementieren aber auch Features, die es den Benutzern erlauben, die Platzierung von Pods auf den Nodes eines Clusters individuell anzupassen. Dazu gehören Features, welche die Zuverlässigkeit der Workloads verbessern, die effizientere Nutzung von Cluster-Ressourcen ermöglichen und Platzierungsrichtlinien durchsetzen. Wir würden uns freuen, wenn mehr Entwickler bei uns mitmachen würden.

Entwickler: Es scheint, dass Kubernetes den „Orchestration War“ gegen Docker Swarm gewonnen hat. Warum denkst du, dass sich Kubernetes hier behaupten konnte?

Klaus Ma: Oh, in der Community sagen wir nicht „Krieg“ dazu. Swarm und Mesos haben beide großartige Communities und ich selbst habe auch, um ca. 2016 rum, bei Mesos mitgearbeitet. Aber ich persönlich finde, K8s verfügt über ein paar Faktoren, die es beliebter gemacht haben.

Ein wichtiger Faktor, der für K8s spricht, ist die standardmäßige Erweiterbarkeit.

Zum Beispiel entkoppelt der API-Server von Kubernetes (ein Server für die Metadaten eines Clusters) die Scheduler, Lifecycle Manager und Agents, sodass die Community mehrere SIGs einrichten kann, um sich auf verschiedenen Bereiche fokussieren zu können. Diese arbeiten dann gemeinsam (das heiß als Arbeitsgruppe) an besseren Features in einem bestimmten Bereich.

„Kubernetes ist standardmäßig erweiterbar“ ist ein weiterer wichtiger Faktor, der es Anbietern ermöglicht, maßgeschneiderte Features für ihre Geschäftsszenarien zu entwickeln. Das macht es für immer mehr Anbieter interessant, den Kern von Kubernetes für den Aufbau ihrer eigenen Plattform zu nutzen.

Entwickler: Kubernetes ist mehr als nur ein Werkzeug zur Verwaltung von Containern und Clustern. Was ist dein Lieblings-Feature, das nicht so bekannt ist?

Klaus Ma: Mit dem Wachstum von Kubernetes ist es mehr geworden als nur ein Werkzeug für Microservices. Immer mehr Anwender wollen verschiedene Workloads auf Kubernetes ausführen, wie z.B. Spark (Spark on Kubernetes) und TensorFlow (Kubeflow).

Neben meiner täglichen Arbeit am Kubernetes-Kern, arbeite ich auch an einem Inkubator, der kube-arbitrator heißt und versucht eine Batch-Fähigkeit für Kubernetes aufzubauen. Das ist mein Lieblings-Feature, denn ich würde mir wünschen, dass mehr Workload auf Kubernetes läuft: nicht nur Microservices, sondern auch High Performance Workload.

Entwickler: Kubernetes hat kürzlich seinen vierten Geburtstag gefeiert. Was hat sich denn über die Jahre hinweg verändert?

Klaus Ma: Ja, vier Jahre ist K8s schon alt. Im Vergleich zu anderen, sehr bekannten Communities (wie z.B. Linux) handelt es sich um eine noch sehr junge Community, die allerdings sehr schnell wächst. In den letzten Jahren gab es mehrere Veränderungen, aber zwei sind meiner Meinung nach sehr wichtig.

Kubernetes ist weit mehr als nur ein Werkzeug für Microservices.

Die erste wichtige Veränderung ist, dass die Community die Teile und Komponenten, die den Kern von Kubernetes ausmachen, definiert hat. Am Anfang gab es mehrere Komponenten im Main Branch von GitHub, einschließlich der angepassten Features von Drittanbietern. Dadurch wurde die Code-Basis von Kubernetes riesig und das macht es neuen Contributors schwer, in die Mitarbeit einzusteigen. Zurzeit definiert Kubernetes, welche Komponenten den Kern bilden und macht diesen für Drittanbieter erweiterbar, damit diese angepasste Features für ihre eigenen Szenarien bauen können, etwa CNI, CSO und CRI.

Eine weitere, wichtige Veränderung besteht darin, dass es nun organisierter zugeht. Es gibt die SIG „Architect“, ein Steuerungskomitee, SIG-Leiter (die für die technische Leitung der Community zuständig sind), die SIG „Release“, PM (um den Fortschritt von Releases zu verfolgen) und Approver bzw. Reviewer, um die Qualität des Codes zu gewährleisten. Neue Contributors wissen mittlerweile auch, wo sie Hilfe bekommen können.

Entwickler: Die letzte GA-Version von Kubernetes war 1.10 – was wird Kubernetes 2.0 für Entwickler bereithalten?

Klaus Ma: Das ist wirklich schwer zu sagen, da es hier einfach sehr viele großartige Idee gibt. Meiner Meinung nach, sollten diese Features enthalten sein:

  1. Eine einfachere Benutzung: In den letzten Jahren haben wir viele Verbesserungen vorgenommen, damit K8s leichter genutzt werden kann, z.B. kubeadm, das im 2.0-Zyklus kontinuierlich verbessert werden wird.
  2. Ein einfacheres Erstellen individueller Features: Kubernetes ist, wie bereits erwähnt standardmäßig erweiterbar, aber zurzeit ist das SDK einfach noch nicht gut genug. Meiner Meinung nach wird dies in Version 2.0 verbessert werden.
  3. Mehr Unterstützung für Workloads: Wir haben sehr viel über Microservices gesprochen, aber im Bereich Rechenzentren wird es zukünftig andere Workloads geben, Stichwort Machine Learning oder BigData. Für Version 2.0 sollte Kubernetes im Hinblick darauf überarbeitet und verbessert werden. Ich denke, das ist es, was die ML Working Group und die SIG „BigData“ gerade tun.

Entwickler Wie wird der nächste Schritt in der Evolution von Container-Technologien aussehen? Oder gibt es nichts mehr, was in diesem Bereich verbessert werden kann?

Docker hat die Türen zu leichtgewichtigen Laufzeit- umgebungen geöffnet.

Klaus Ma: Docker hat die Türen zu leichtgewichtigen (im Vergleich zu Virtuellen Maschinen) Laufzeitumgebungen geöffnet. Danach kamen weitere Implementierungen wie etwa rkt. „Container“ sind nicht mehr ganz so heiß wie bisher, weil wir Plattformen benötigen (wie Kubernetes), um ein End-to-End-Szenario zu unterstützen. Eine einfache Anwendungslaufzeit reicht hierfür nicht aus. Aber das ist nicht das Ende der Innovation: Es werden immer noch neue „Container“-Technologien angekündigt, Kata und gVisor sind da zu nennen.

Entwickler: Serverless Computing ist derzeit viel im Gespräch. Denkst du, dass Serverless irgendwann Container und die dazugehörende Technologie hinfällig machen wird?

Klaus Ma: Serveless ist großartig und wie du schon sagtest, hat es einen neuen Trend ausgelöst. Allerdings befinden sich Container, Kubernetes und Serverless auf verschiedenen Ebenen: Container sind die Anwendungslaufzeit, Kubernetes ist ein Orchestrator und Serverless ist eine von verschiedenen Workload-Typen. Ich denke, dass knative ein gutes Beispiel dafür ist.

Wie es schon die Beschreibung sagt, ist knative eine Plattform, die auf Kubernetes basiert, für Serverless Workloads: knative ist also das Framework bzw. die Plattform für Serverless Workloads, während Kubernetes der Orchestrator von Rechenzentren und der „Container“ stellt die Laufzeit von Serverless dar. Der Anwender muss weder Kubernetes noch Container kennen, trotzdem sind sie beide vorhanden und werden vom Serverless Framework verwendet.

Vielen Dank für das Interview!

Klaus Ma ist Kubernetes Maintainer, Co-Lead der SIG-scheduling; IBMer und ex-Baiduer

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -