How to get started with Helm 3
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.
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 : )