Containerisierung: Pulumi erweitert das Open-Source-Portfolio fĂĽr Kubernetes
Der Infrastructure-as-Code-Anbieter veröffentlicht unter anderem einen Kubernetes-Operator und eine Anbindung an Open Policy Agent und Helm 3.
Pulumi hat einige Erweiterungen für seine Infrastructure-as-Code-Plattform (IaC) veröffentlicht. Die Werkzeuge zielen auf ein besseres Zusammenspiel mit Kubernetes und sind allesamt ebenso Open-Source-Projekte wie die Kernplattform. Laut dem Blogbeitrag zu den neuen Tools setzen viele Pulumi-Installationen auf die Containerisierungsplattform Kubernetes. Dem tragen die nun vorgestellten Werkzeuge Rechnung.
Pulumi steht mit der gleichnamigen Plattform, die im April in Version 2.0 erschienen ist, unter anderem im Wettbewerb zu HashiCorp Terraform. Als Besonderheit setzt Pulumi nicht auf YAML oder JSON zur Definition der Infrastruktur, sondern bietet eine Anbindung an zahlreiche Programmiersprachen fĂĽr das Provisionieren: JavaScript beziehungsweise TypeScript, Python, Go und C#.
Operator und OPA
Der neue Kubernetes-Operator bietet eine direkte Anbindung an Git-Repositories zum Verwalten. Administratoren definieren dazu eine Stack
-Extension in Form einer Custom Resource im Kubernetes-Cluster. Der Stack
kann ein beliebiges Pulumi-Programm innerhalb eines Git-Repository sein, und der Operator gleicht stetig den Status der Cloud-Ressourcen mit den Definitionen innerhalb des Stack ab. Dabei lassen sich auch Richtlinien ĂĽber Policy as Code definieren.
CrossGuard, das Framework, das fĂĽr das Umsetzen von Vorgaben ĂĽber Policy as Code verantwortlich ist, kann neuerdings mit Open Policy Agent (OPA) zusammenarbeiten. OPA ist ein Projekt der Cloud Native Computing Foundation, das eine Engine und Sprache fĂĽr Policys im Cloud-nativen Umfeld bietet. CrossGuard kann die von OPA genutzten .rego
-Policy-Dateien einbinden.
YAML-Ăśbersetzer
Bei der Programmiersprachenvielfalt der IaS-Plattform setzt das Tool kube2pulumi an. Es übersetzt die in YAML oder JSON verfassten Kubernetes-Konfigurationen in Python-, TypeScript-, JavaScript-, Go- oder C#-Code. Das Werkzeug kann sowohl einzelne Manifest-Dateien als auch komplette Verzeichnisse in einem Aufwasch übersetzen. Anschließend lässt sich der Cluster über pulumi up
ausrollen. Pulumi hat eine interaktive Demo-Seite eingerichtet, auf der Entwickler das Übersetzen von Code ausprobieren können.
Analog zum Ăśbersetzen von YAML kommt das Tool crd2pulumi fĂĽr Custom Resources zum Einsatz. Es ĂĽbersetzt die CustomResourceDefinitions
(CRDs) in Pulumi und ermöglicht damit stark typisierte Erweiterungen über die CustomResource
-API.
Weitere Details zu den neuen Tools sowie den beiden bereits seit geraumer Zeit verfĂĽgbaren Werkzeugen zur Integration in die Continuous-Delivery-Plattform Spinnaker und zum Zusammenspiel mit dem Kubernetes-Paketmanager Helm 3 lassen sich dem Pulumi-Blog entnehmen.
(rme)