Definition „HELM (Kubernetes)“ Was ist HELM?

Autor / Redakteur: chrissikraus / Stephan Augsten |

Helm ist ein Tool zum einfachen Installieren, Veröffentlichen, Verwalten, Updaten und Skalieren von vorkonfigurierten Kubernetes-Anwendungen. Mittlerweile wird das Projekt durch CNCF, sprich die Cloud Native Computing Foundation betreut.

Anbieter zum Thema

Helm Charts enthalten genaue Informationen darüber, wie eine Kubernetes-Anwendung aufgebaut ist.
Helm Charts enthalten genaue Informationen darüber, wie eine Kubernetes-Anwendung aufgebaut ist.
(Bild: helm.sh)

Kubernetes ist ein System, mit dem sich Bereitstellung, Skalierung und Verwaltung von Container-Anwendungen automatisieren lässt. Die Arbeit mit Kubernetes erfordert jedoch Kenntnisse über Container-Anwendungen und das Kubernetes-System selbst.

Das Open Source Tool Helm hat das Ziel, die Arbeit mit Kubernetes so einfach und komfortabel wie möglich zu gestalten. Es erleichtert das Deployment von Kubernetes-Anwendungen, beinhaltet eine Versionsverwaltung und bietet auch Features wie Rollback oder Teilen von Repositories.

Helm Charts

Helm benötigt Anweisungen, um zu wissen, wie genau eine Kubernetes-Anwendung aufgebaut ist. Diese Anweisungen werden Helm Charts genannt. Sie sind in yaml verfasst und definieren exakt, welche Abhängigkeiten bestehen, welche Ressourcen aus Kubernetes gebraucht werden und was sonst noch nötig ist, um eine bestimmte Container-Anwendung bereitzustellen.

Mit einem Helm Chart erhält der Package Manager also alle entscheidenden Informationen, um von der Installation und Auslieferung einer Anwendung bis hin zu Updates alle Aufgaben automatisch übernehmen zu können. Außerdem kann das Helm Chart nutzerspezifische Einstellungen enthalten.

Ein Helm Chart kann beliebig oft genutzt werden, um beliebig viele Instanzen einer Anwendung aufzuziehen und so skalierbare Systeme zu realisieren. Selbst sehr komplexe Systeme lassen sich gut nachvollziehbar in diesen Anleitungen definieren.

Teilen und Versionsverwaltung

Die Charts können geteilt werden, sodass auch andere Personen davon profitieren. Gleichzeitig dient ein Helm Chart als zentrale Stelle, an der exakt die Details zu einer bestimmten Kubernetes-Anwendung festgehalten werden.

Mit Helm wird es daher leicht, eine Anwendung einmal zu definieren und anschließend mit minimalem Aufwand vielen Personen zugänglich zu machen. Zudem gibt es ein öffentliches Repository mit einer großen Anzahl Helm Charts für gängige Anwendungen, die jeder für einen schnellen Einstieg in die jeweilige Anwendung nutzen kann.

Ebenso ist es unkompliziert, Updates für ein System zu realisieren, da das Tool alle nötigen Schritte aus dem zugehörigen Helm Chart bezieht und eigenständig umsetzt. Außerdem bietet Helm eine Versionsverwaltung - und damit auch die Option, eine Anwendung auf eine ältere Version zurückzurollen, indem z. B. schlicht eine ältere Version des Helm Charts genutzt wird.

Helm auf Client und Server

Wie die meisten Plattformen seiner Art benötigt auch Helm zwei Komponenten für das Deployment von Kubernetes-Applikationen. Client-seitig wird das System über ein einfaches Kommandozeilenprogramm verwaltet.

Auf dem Server mit dem zugehörigen Kubernetes-Cluster muss der sogenannte Tiller laufen, welcher die Historie der Deployments verwaltet. Alternativ gibt es mit monocular auch eine Webanwendung mit grafischer Oberfläche von einem Drittanbieter, welche die Inhalte der Helm Chart Repositories aufbereitet und so transparenter gestaltet.

(ID:45941736)