Helm ist der De-facto-Paketmanager für Kubernetes. Er definiert ein Paketformat namens Chart — eine Sammlung von Vorlagen (Go-Templates) für Kubernetes-Manifeste, ergänzt um Werte (values.yaml), Metadaten (Chart.yaml) und optionale Subcharts. Über die CLI "helm" lassen sich Charts installieren, aktualisieren, zurückrollen und über Repositories (HTTP- oder OCI-basiert) verteilen. Seit Helm 3 wird der Zustand jeder Installation als Release-Objekt direkt in Kubernetes gespeichert — der frühere serverseitige Komponente "Tiller" aus Helm 2 wurde abgeschafft.
Eingesetzt wird Helm zur Auslieferung komplexer Anwendungen, die aus vielen miteinander verknüpften Kubernetes-Ressourcen bestehen, sowie als Vehikel zur Verteilung kommerzieller und Open-Source-Software (etwa Ingress-Controller, Datenbanken, Monitoring-Stacks). Charts können über zentrale Hubs (Artifact Hub) oder eigene Repositories veröffentlicht werden; mit Helm-OCI-Support lassen sich Charts in beliebigen OCI-Registries (etwa Azure Container Registry, GitHub Container Registry, Harbor) als reguläre Artefakte ablegen und versionieren.
Der Einsatzzweck und das gelöste Problem liegen in der Wiederverwendbarkeit und Parametrisierung von Kubernetes-Manifesten. Reine Manifest-Sammlungen sind nicht parametrisierbar; "kubectl apply" kennt keine Versionierung oder Rollback. Helm liefert ein Lifecycle-Modell mit Releases, Upgrades, Rollbacks und einem klaren "Abhängigkeits-Modell" zwischen Charts (über die Chart.yaml-Sektion "dependencies"). Damit wird Kubernetes-Software so verpackt, wie es im Linux-Umfeld RPM oder DEB für Pakete sind.
Ursprünglich wurde Helm 2015 bei Deis Inc. entwickelt und mit Kubernetes 1.4 (2016) als "Kubernetes Package Manager" offiziell etabliert. Nach der Übernahme von Deis durch Microsoft (2017) wurde das Projekt in die CNCF eingebracht und ist heute ein Graduated Project. Mit Helm 3 (November 2019) wurde Tiller entfernt — eine wichtige Sicherheitsverbesserung, weil die früheren Tiller-Berechtigungen in Multi-Tenant-Clustern als Angriffsfläche kritisiert wurden.
Eingeführt wurde Helm von Matt Butcher, Adam Reese, Jack Greenfield und weiteren Mitarbeitern bei Deis bzw. Microsoft. Helm wurde nach den Steuermännern an einem Schiff (the helm) benannt — eine inhaltliche Klammer mit Kubernetes ("Steuermann"). Logo (Steuerrad) und Wortmarke spielen darauf bewusst an. In Anlehnung daran wurde der ursprüngliche Server-Teil "Tiller" (englisch für Pinne) genannt, was nach der Abschaffung in Helm 3 als Teil der Geschichte des Projekts erhalten bleibt.
Für den einfacheren Umgang mit Helm benutzen wir bei bluehands vermehrt Helm-File als Abstraktion.