kubernetes logo

Helm 3.0.0 is out,here is what has changed!

Helm is a package manager that helps you to install, manage Kubernetes applications. Charts define the set of Kubernetes resources that together define an application. You can think of charts as packages of pre-configured Kubernetes resources. Charts help you to define, install, and upgrade even the most complex Kubernetes application. These charts can describe a single resource, such as a Redis pod, or a full stack of a web application: HTTP servers, databases, and caches.

In this post, we look at the latest release of Helm 3 and understand what are the changes. We also look at how to install the sample chart and configure the same.

New features/changes

  1. Tiller has been removed: Tiller has been introduced on Helm 2 release, it played an important role for teams who are working on a shared cluster and made it possible for multiple different operators to interact with the same set of releases but with the introduction of role-based access controls (RBAC) enabled by default in Kubernetes 1.6, Tiller became more difficult to manage and thus removed.Now security model is simplified and Helm’s permissions are evaluated using kubeconfig file. Cluster administrators can restrict user permissions at various granularity levels.
  2. Release Management: Helm 3 uses a three-way strategic merge patch. Helm takes the old manifest, its live state, and the new manifest when generating a patch. Releases will be managed inside of Kubernetes using Release Objects and Kubernetes Secrets. All modifications such as installing, upgrading, downgrading releases will be having a new version of that Kubernetes Secret. While Helm 2 used a two-way strategic merge patch. During an upgrade, it compared the most recent chart’s manifest against the proposed chart’s manifest.
  3. Secrets as the default storage driver: Secrets are now used as the default storage driver. Helm 2 used ConfigMaps by default to store release information.
  4. Chart Values can now be validated with JSONSchema: JSON Schema can now be imposed upon chart values. This ensures that values provided by the user follow the schema laid out by the chart maintainer, providing better error reporting when the user provides an incorrect set of values for a chart.
  5. Requirements Yaml changes – Dependencies will no longer be maintained using the dedicated requirements.yaml file. Instead, the dependencies are directly listed inside of the Chart.yaml file
  6. Pushing Charts to Registries (experimental feature) : Chart Repository is a location where Charts can be stored and shared. This is basically an HTTP server that houses an index.yaml file and some packaged charts. This is based on Docker’s Distribution project (aka Docker Registry v2) is the successor to the Docker Registry project
  7. Library chart support: Helm 3 now supports a class of chart called a “library chart”. This is a chart that is shared by other charts but does not create any release artifacts of its own. A library chart’s templates can only declare define elements.
  8. CLI Command Renames: There are few renames of delete to uninstall etc.,

In the next section, we can look at how to install a sample chart and configure the same.

This quickstart assumes a basic understanding of Kubernetes concepts, please refer earlier posts for understanding on Kubernetes & how to create, deploy & rollout updates to the cluster.


Following are the prerequisites that are required for this quickstart

  1. A Kubernetes cluster with the latest stable release of Kubernetes
  2. Kubectl CLI

Before Helm 3 installation, let us check if we have got the right Kubernetes version.

Check Kubernetes cluster
Image – Check Kubernetes cluster

#1.Installing Helm

Download the latest release of Helm with the below command:

curl -LO https://get.helm.sh/helm-v3.0.0-linux-amd64.tar.gz

Helm Installation
Image – Helm Installation

I’m using Linux, for other platforms, see the releases page.

Verify Helm version
Image – Verify Helm version

#2.Initialize Helm

Now that we have Helm ready, we can add a chart repository. I would be adding the official Helm stable charts location:

helm repo add stable https://kubernetes-charts.storage.googleapis.com/

Helm Init
Image – Helm Init

Once the Helm is initialized, we would be able to list the charts that can be installed:

List the charts
Image – List the charts

#3.Deploy Chart

The next step is to deploy the chart, before that we have to do repo update to get the latest list of charts.

Repo update
Image – Helm Repo update

Now that we have fetched all the latest list of charts, we can run the helm install command to install the new chart. Here in this example, we are going to install the Prometheus monitoring kit.

Install Chart
Image – Install Chart

Helm will now launch the required pods for the Prometheus monitoring kit. For a detailed article on Prometheus concepts, configuration & how to view metrics, check out here.

To see the list of all deployed releases, you can use helm ls or list command.

List deployed releases
Image – List deployed releases

To uninstall a release, use the helm uninstall command:

Uninstall release
Image – Uninstall release

Like this post? Don’t forget to share it!

Useful Resources

Helm 3.0.0 is out,here is what has changed!
Article Name
Helm 3.0.0 is out,here is what has changed!
In this post,we look at the latest release of Helm 3 and understand what are the changes.We also look at how to install sample chart and configure the same.
Publisher Name
Publisher Logo

Average Rating

5 Star
4 Star
3 Star
2 Star
1 Star

One thought on “Helm 3.0.0 is out,here is what has changed!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

school Previous post Swift 5 iOS Application Developer Specialization by LearnQuest
prince2 Next post How Prince2 Certification can help current Project Managers?