Helm has come a long way since its inception. Understanding the differences between Helm 2 and Helm 3 is crucial when browsing charts and technical articles. This article reviews the evolution of Helm and highlights the major architectural changes introduced in Helm 3. Helm 1.0 debuted in February 2016, followed by Helm 2.0 in November 2016 and Helm 3.0 in November 2019. The project has matured significantly, driven largely by enhancements in Kubernetes.Documentation Index
Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
Use this file to discover all available pages before exploring further.

Architecture: Removing Tiller
Helm uses a command-line client on your local machine to execute commands on a Kubernetes cluster. In Helm 2, limitations in Kubernetes—such as the absence of role-based access control (RBAC) and custom resource definitions (CRDs)—necessitated an extra component called Tiller. The Helm client communicated with Tiller, which then interacted with Kubernetes to implement your commands.
In Helm 2, Tiller functioned with full privileges by default, which introduced significant security concerns.

Three-Way Strategic Merge Patch: Intelligent Rollbacks and Upgrades
One of the standout improvements in Helm 3 is the introduction of a three-way strategic merge patch mechanism. This mechanism functions as a snapshot system, creating revisions of the release state to facilitate intelligent rollbacks and upgrades. Consider the following example:-
Install a WordPress website using a Helm chart, which creates revision number one:
-
Later, upgrade to a newer chart that changes the image version from WordPress 4.8 to WordPress 5.8. Before the upgrade, your deployment configuration might look like this:
After the upgrade, the configuration updates to:Execute the upgrade command with:
-
Install the WordPress deployment (revision one):
-
A user manually updates the application image using kubectl:
- The current chart in use (if a revision exists),
- The desired chart from the previous revision, and
- The live state of the Kubernetes objects.
Summary
The key differences between Helm 2 and Helm 3 are summarized below:| Feature | Helm 2 | Helm 3 |
|---|---|---|
| Tiller | Required for managing releases, with full privileges by default | Removed for direct CLI-to-Kubernetes communication |
| Rollback Mechanism | Based solely on chart comparison, ignoring manual changes | Uses a three-way strategic merge patch to intelligently record and revert state changes |
