How to get started with Helm 3

Helm logo

Helm is the de-facto package manager for Kubernetes. Helm 3 is a huge step forward for Kubernetes and for Helm too. In this article you’ll learn how to get started and be productive with Helm 3 in minutes.

Before starting: why should you use Helm 3 instead of 2?

Security, full stop. Helm 2 had an overly-complex security model. The new Helm 3 security model delegates many things to Kubernetes itself. Helm 2 used Tiller, while Helm 3 does not (goodbye Tiller). That alone reduced the attack surface of a component that wasn’t secure out-of-the-box without additional (and not beginner-friendly) configuration.

Future-proof, Helm 2 will be supported until November 2020, after that no more effort will be put in Helm 2. Also if you’re still using Helm 2 you’re stuck with Kubernetes 1.16.

Installing Helm 3 client

In order to install Helm, you just need the client. For Windows/Mac you may want a release binary, if you’re using Linux you can install it either through the release binary or the package manager.

WindowsMacDebian-basedOther distributions

If you use Chocolatey, open a terminal and input the following commands:

# choco install kubernetes-helm

or use the release binary.

Open a terminal and input the following commands:

# brew install helm

or use the release binary.

Open a terminal and input the following commands:

# curl https://baltocdn.com/helm/signing.asc | apt-key add -
# apt-get install apt-transport-https --yes
# echo "deb https://baltocdn.com/helm/stable/debian/ all main" | tee /etc/apt/sources.list.d/helm-stable-debian.list
# apt-get update
# apt-get install helm

You can use a script written by the authors, open a terminal and input the following commands:

$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh

or use the release binary.

That’s it, you’re ready to get started. Make sure you have a kubeconfig file configured and ready to use.

First steps with Helm

In order to get started with Helm 3 you need a repository, the official Helm repository is usually a good start:

$ helm repo add stable https://kubernetes-charts.storage.googleapis.com/
"stable" has been added to your repositories
$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "stable" chart repository
Update Complete ⎈ Happy Helming! ⎈

Next we’ll install MySQL from the stable repository using the test release name:

$ helm install test stable/mysql
... Output omitted ...

After a few seconds you will get a screen showing you information about your MySQL instance.

If you want to confirm your application has been deployed do:

$ helm list
NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION               
test    helm            1               2020-09-21 13:30:44.653986653 +0000 UTC deployed        mysql-1.6.7     5.7.30     

If you want to uninstall your application do:

$ helm uninstall test
release "test" uninstalled

That’s it, happy sailing with Kubernetes and Helm! But what if you want to migrate your Helm 2-managed applications? An article is coming up : )

Image courtesy of mark | marksei

The following two tabs change content below.
The IT guy with a slight look of boredom in his eyes. Freelancer. Current interests: Kubernetes, Tensorflow, shiny new things.

You may also like...

Leave a Reply

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