Helm 3.0 ist da!

Helm 3.0: Paketmanager für Kubernetes mit überarbeitetem Go SDK erschienen

Katharina Degenmann

© Shutterstock / A_KUDR

Der Paketmanager Helm zum Verwalten von Kubernetes-Anwendungen ist in Version 3.0 erschienen. Die mitunter größten Überraschungen des Releases ist die Entfernung von Tiller und ein vollständig überarbeitetes Go SDK.

Helm ist ein Tool, das darauf abzielt, die Installation, Veröffentlichung, Verwaltung und das Updaten von Kubernetes-Anwendungen zu vereinfachen. Es erleichtert das Deployment von Kubernetes-Anwendungen, beinhaltet eine Versionsverwaltung und bietet auch Features wie Rollback oder Teilen von Repositorys.

Um zu wissen, wie genau eine Kubernetes-Anwendung aufgebaut ist, benötigt Helm Anweisungen. Diese Anweisungen werden Helm Charts genannt. Charts sind Helm-Pakete, die mindestens zwei Dinge enthalten: Eine Beschreibung des Pakets (Chart.yaml) sowie eine oder mehrere Vorlagen, die Kubernetes-Manifestdateien enthalten. Charts können auf der Festplatte gespeichert oder aus entfernten Chart-Repositorys abgerufen werden. Mittlerweile wird das Projekt durch die Cloud Native Computing Foundation (CNCF) betreut.

Helm 3.0: Neues Sicherheitsmodell

Die wohl größte Änderung ist der Verzicht auf Tiller, da somit grundlegende Änderungen im Sicherheitsmodell herbeigeführt wurden. Tiller war eine serverseitige Komponente für Teams, die an einem gemeinsamen Cluster arbeiteten. Tiller ermöglichte es verschiedenen Operatoren, mit dem gleichen Set an Releases zu arbeiten. Doch mit Kubernetes 1.6, das standardmäßig auf rollenbasierte Zugriffskontrolle (RBAC) setzt, wurde die Arbeit von und mit Tiller zunehmend komplizierter. Seit Kubernetes 1.6 können Administratoren unterschiedliche Zugriffsrechte vergeben. Um Nutzern dennoch maximale Möglichkeiten zu bieten, setzte das Helm-Team auf eine umfassende Standard-Konfiguration bzw. großzügige Rechtevergabe. Das stattete Nutzer wiederum mit diversen Zugriffsrechte aus, die sie nicht haben sollten.

Um dieses Problem zu umgehen, stellen die Helm-Entwickler benötigte Release-Informationen über den Kubernetes-API-Server bereit. Das Hauptziel von Tiller wird also ohne den Einsatz desselben ermöglicht, weshalb Tiller damit in Helm 3 vollständig entfernt wurde.

Sicherheit ohne Tiller

Durch Verzicht auf Tiller wird das Sicherheitsmodell für Helm stark vereinfacht. Helm 3 unterstützt nun alle modernen Sicherheits-, Identitäts- und Autorisierungsfunktionen von Kubernetes. Die Berechtigungen von Helm werden anhand der kubeconfig-Datei ausgewertet. Cluster-Administratoren können die Benutzerberechtigungen in beliebiger Granularität einschränken. Releases werden immer noch im Cluster aufgezeichnet und der Rest der Funktionalität von Helm bleibt erhalten.

Merge Patches

Eine weitere Änderung betrifft zudem die Merge Patches. Während die Vorgängerversion auf ein Zwei-Wege-System in Sachen Merge Patches setzte, verfügt Helm 3 über ein Dreiwegssystem.

In Helm 2 wurde ein Patch erzeugt, der das alte Manifest mit dem neuen Manifest vergleicht. Doch da es sich um ein Rollback handelte, war es letztendlich das gleiche Manifest, das verglichen wurde. Helm stellte also fest, dass es nichts zu ändern gäbe, da kein Unterschied zwischen dem alten und dem neuen Manifest zu erkennen war. Helm 3 verwendet stattdessen nun einen Drei-Wege-Ansatz für strategische Merge Patches, in dem es neben den beiden Manifesten auch den Live-Zustand berücksichtigt.

Go SDK

Zusätzlich wurde das Helm Go SDK für den allgemeinen Einsatz überarbeitet. Ziel ist es, Code, der für Open-Source-Lösungen entwickelt wurde, mit der breiteren Go-Community zu teilen und wiederzuverwenden. Wer Helm bereits in eigene Projekte integriert, ist gerne dazu eingeladen, seine Erfahreungen im #helm-dev Kubernetes Slack Channel zu teilen.

Alle weiteren Neuerungen und Informationen im Detail stehen auf dem offiziellen Helm-Blog zum Nachlesen bereit.

Verwandte Themen:

Geschrieben von
Katharina Degenmann
Katharina Degenmann
Katharina ist hauptberuflich hilfsbereite Online- und Print-Redakteurin sowie Bücher- und Filme-Junkie. Nebenbei ist sie Möchtegern-Schriftstellerin, die heimlich hofft, eines Tages ihr Geld als Kaffee-Testerin zu verdienen. Seit Februar 2018 arbeitet sie als Redakteurin bei der Software & Support Media GmbH, davor hat sie Politikwissenschaft und Philosophie studiert.
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Helm 3.0: Paketmanager für Kubernetes mit überarbeitetem Go SDK erschienen"

avatar
4000
  Subscribe  
Benachrichtige mich zu:
James Last
Gast

Was ist eigentlich Triller? Meint ihr Thriller, war das nicht n Album?