Kubernetes: Loft Labs legt Plug-in-System für virtuelle Cluster auf
Ein neues SDK und Plug-ins sollen das Open-Source-Projekt vcluster noch flexibler konfigurierbar und individueller anpassbar an Kubernetes machen.
Mit dem Open-Source-Projekt vcluster stellt Loft Labs ein Cloud-natives Entwicklungswerkzeug bereit, das dem Anlegen und Verwalten virtueller Cluster dient. Entwicklungsplattformen zum Bauen, Testen und Debuggen Cloud-nativer Software auf der Basis von Kubernetes sollen sich damit einfacher und schneller aufsetzen lassen als es mit reinen Kubernetes-Clustern möglich ist. Um Entwicklerinnen und Entwicklern nun noch mehr Optionen zum Konfigurieren von vcluster und dessen Anpassen an die Container-Orchestrierungsplattform an die Hand zu geben, führt Loft Labs ein neues SDK (Software Development Kit) sowie ein Plug-in-System ein.
Alternative zu Kubernetes Operators
Das unter Apache-2.0-Lizenz auf GitHub frei verfügbare Cluster-Werkzeug hatte Loft Labs erst vor knapp einem Jahr offiziell an den Start gebracht. Seither habe sich das Projekt mit mehr als 400.000 Downloads und über 1300 GitHub-Stars nach Einschätzung von CTO und Mitgründer Fabian Kramm sehr erfreulich entwickelt. Mit einem neuen SDK und der Möglichkeit Plug-ins einzubinden, wolle Loft Labs vcluster noch "anpassbarer und programmierbarer" machen, um die Integration mit anderen Cloud-nativen Tools sowie Projekten der CNCF (Cloud Native Computing Foundation) zu erleichtern und aktiv voranzutreiben.
Das SDK setzt auf dem controller-runtime-Projekt auf, dessen Go-Libraries sowohl Kubernetes wie auch vcluster nutzen, um Controller zu bauen. Anwenderinnen und Anwender können damit Plug-ins erstellen, die sich vergleichbar zu einem Kubernetes Operator verhalten und erweiterte Konfigurationsoptionen für die Synchronisationslogik der vcluster-Komponente syncer eröffnen. Die Plug-ins laufen als Sidecar Container innerhalb eines vcluster-Pods. Im Unterschied zu einem regulären Kubernetes Operator erhalten die Plug-ins aber auch gleichzeitigen Zugriff sowohl auf den virtuellen wie den Host-Cluster. Dadurch sind sie in der Lage, zwischen den Ressourcen in beiden Clustern zu "vermitteln". Die Plug-ins lassen sich daher nutzen, um im Detail festzulegen, welche Ressourcen – Cluster-Rollen, CRDs, Anwendungen, etc. – zwischen dem virtuellen Cluster und dem zugrundeliegenden Kubernetes-Host synchronisiert werden sollen – und auf welche Weise dies erfolgen soll.
Preview: Plug-in-System noch im Alphastadium
Das neue Plug-in-System ist derzeit noch im Alphastadium und nur im Rahmen der Preview-Version 0.6.0 von vcluster verfügbar. Der Einsatz in Produktion ist daher noch nicht empfohlen. Wer sich allerdings schon mit den Plug-ins und dem SDK vertraut machen möchte, findet im vcluster-sdk Repository auf GitHub einige funktionierende Beispiele. Darüber hinaus sind laut Loft Labs grundlegende Kenntnisse der Konzepte von Kubernetes Operators, Controllers, der controller-runtime sowie Kubebuilder empfehlenswert. Weitergehende Informationen zu vcluster finden sich im Loft Labs Blog und auf der Projekt-Website.
(map)