Wednesday, December 4, 2019

HELM 3 The new chages and an overview


Helm3 has entirely changed its fundamentals, like tiller pods and service account permissions which we have used in version2.


So in the version3, it is quite easy for installing and moreover security aspect, In earlier versions, everyone installed it with proving full admin privileges. Those who are using Helm version 2 you must make sure you are using a separate and RBAC for the tiller Service Account.

In the new version Helm will use the same Kube config file permission you are using for managing your Kubernetes cluster.

Here I am providing the useful commands and configuration for Helm version 3.

Installation:

We can download the latest stable release from here: https://github.com/helm/helm/releases



ajeesh@Aspire-A515-51G:~/Downloads/helm$ tar -zxvf helm-v3.0.0-linux-amd64.tar.gz
linux-amd64/
linux-amd64/helm
linux-amd64/README.md
linux-amd64/LICENSE
ajeesh@Aspire-A515-51G:~/Downloads/helm$ cd linux-amd64/
ajeesh@Aspire-A515-51G:~/Downloads/helm/linux-amd64$ ls
helm  LICENSE  README.md
ajeesh@Aspire-A515-51G:~/Downloads/helm/linux-amd64$ sudo mv helm /usr/local/bin/
ajeesh@Aspire-A515-51G:~/Downloads/helm/linux-amd64$ helm --help
The Kubernetes package manager
Common actions for Helm:
- helm search:    search for charts
- helm pull:      download a chart to your local directory to view
- helm install:   upload the chart to Kubernetes
- helm list:      list releases of charts
ajeesh@Aspire-A515-51G:~/Downloads/helm/linux-amd64$ helm version --short
v3.0.0+ge29ce2a

If you have helm2 version and you can easily migrate your version2 repos to helm version 3 using a helm plugin.

ajeesh@Aspire-A515-51G:~$ helm plugin install https://github.com/helm/helm-2to3Downloading and installing helm-2to3 v0.2.0 ...
https://github.com/helm/helm-2to3/releases/download/v0.2.0/helm-2to3_0.2.0_linux_amd64.tar.gz
Installed plugin: 2to3
ajeesh@Aspire-A515-51G:~$ helm plugin listNAME    VERSION DESCRIPTION
2to3    0.2.0   migrate and cleanup Helm v2 configuration and releases in-place to Helm v3
ajeesh@Aspire-A515-51G:~$ helm 2to3 --helpMigrate and Cleanup Helm v2 configuration and releases in-place to Helm v3

Usage:
  2to3 [command]

Available Commands:
  cleanup     cleanup Helm v2 configuration, release data and Tiller deployment
  convert     migrate Helm v2 release in-place to Helm v3
  help        Help about any command
  move        migrate Helm v2 configuration in-place to Helm v3

Here if you are in version 2 first you need to convert the configuration files from version 2 to verion2 using the command
helm 2to3 move

Then you can move your installed repos one by one using the command.

helm 2to3 convert jenkins
helm 2to3 convert wordpress

After migrated all the repo then you can clean up your old helm version 2

helm 2to3 cleanup : this will delete your tiller pods from your Kubernetes cluster.

ajeesh@Aspire-A515-51G:~$ helm search repo
Error: no repositories configured

Here we need to add our helm repo:

ajeesh@Aspire-A515-51G:~$ helm repo add stable https://kubernetes-charts.storage.googleapis.com"stable" has been added to your repositories
ajeesh@Aspire-A515-51G:~$ helm repo listNAME    URL
stable  https://kubernetes-charts.storage.googleapis.com

 ajeesh@Aspire-A515-51G:~$ helm search repo jenkins
NAME            CHART VERSION   APP VERSION     DESCRIPTION
stable/jenkins  1.9.7

If you search for a new repo using our old helm version 2 command you will get an error , since in version three it is different.

ajeesh@Aspire-A515-51G:~$ helm install stable/wordpress --name myblog
Error: unknown flag: --name

Here you need to use the helm command as like this,

ajeesh@Aspire-A515-51G:~$ helm install myblog stable/wordpress
NAME: myblog
LAST DEPLOYED: Tue Dec  3 22:48:56 2019
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get the WordPress URL: