Helm is a Package Manager for Kubernetes. Here’s a good getting started tutorial on Helm Charts.

My Helm Chart Repo is exposed on https://welagedara.github.io/helm/.

My Helm Repo

Add a new Repo

Add that to your repos using.

helm repo add welagedara https://welagedara.github.io/helm/

Check if the Repo got added succefully

helm repo list

Update the Repos by using this command

helm repo update

Finally install hello-world. The latest version will be installed if –version flag is not set.

helm install welagedara/hello-world 

How to update the Repo

Check for errors using lint command

helm lint ./hello-world/

Package it

helm package ./hello-world/

Update index.yaml

helm repo index ./

Push the artifacts to Github

git push origin master

Upgrade and Rollback

Install the app from local

helm install ./hello-world

Upgrade the app

helm upgrade --set replicaCount=2,image.tag="1.13" <helm name> ./hello-world

To check revison number

helm list -a

or

helm history <helm name>

To rollback

helm rollback <helm name> <revision number>

Here is an example.

helm rollback needled-hog 1

Upgrade and Rollback using an external yaml

Install the app

helm install -f ./hello-world-helm.yaml ./hello-world

Upgrade the app

helm upgrade -f ./hello-world-helm-upgraded.yaml <helm name> ./hello-world

To check revison number

helm list -a

or bash

helm history <helm name>

To rollback

helm rollback <helm name> <revision number>

Here is an example

helm rollback early-ladybird 1