Helm Basics

Helm is a package manager for Kubernetes, which install, uninstall wizards and also its acts as a release manager helping us to upgrade pr rollback applications.

helm charts:

charts are a collection of files. They consists of the configuration details and information that is needed to create a collection of objects in your cluster.

Q. what is a release in helm ?
Ans: A release is an instance of a chart running in a Kubernetes cluster.

when a chart is applied to your cluster, a release is created.

one chart can be installed multiple times in to the same cluster. Each time its installed, a new release is created. within each release you can have multiple revisions and every time you make a change (upgrade, image update etc...) a new revision is created.

helm repo list/ls # to list the repositories
helm repo add <DESIRED_REPO_NAME> <HELM_REPO_URL> # add a helm repository

helm search repo <REPO_NAME>
helm search repo abichart --version # it will list all the versions
helm repo update

helm installation

helm install <RELEASE_NAME> <CHART_NMAE>
helm install abinginx mybitnami/nginx
helm list/ls # list the helm releases

we can provide the --version flag for installation of desired version

helm install <RELEASE_NAME> <CHART_NMAE> --version "<version_number>"
helm install abirelease1 abihelming/abichart1 --version "0.1.1"

helm upgrade

helm upgrade <RELEASE_NAME> <CHART_NMAE>
helm upgrade abirelease1 abihelming/abichart1
# with out --version flag it will upgrade to the latest version

helm upgrade <RELEASE_NAME> <CHART_NMAE> --version "version_number"
helm upgrade abirelease1 abihelming/abichart1 --version "0.1.1"

helm rollback

you can simply rollback by using helm rollback command, but make sure you have specified the release name and revision.

helm robbback <RELEASE_NAME> <REVISION>
helm rollback abirelease1 abihelming/abichart1 1

helm status

this command is very usefull as it provide you the details of the release. and you can add --show-resource flag to list all the resource under your release.

helm status abirelease1 --show-resources

helm history

helm history <RELEASE_NAME>
helm history abirelease1