Helm is a powerful and flexible package-management and operations tool for Kubernetes.
There are two parts to Helm: The Helm client (helm) and the Helm server (Tiller).
https://helm.sh/docs/using_helm/#installing-helm
1) ssh to your k8s master node
2) Download the helm client from the url : https://github.com/helm/helm/releases
Linux amd64 (checksum)
# wget https://get.helm.sh/helm-v2.15.1-linux-amd64.tar.gz
# tar -xzvf helm-v2.15.1-linux-amd64.tar.gz
# mv linux-amd64/helm /usr/local/bin
# which helm
# helm version --client --short
3) Now we need to initialize the helm server (Tiller) in the k8s cluster.
For this,
> first we need to create a serviceaccount called tiller in the kube-system namespace.
> then create a clusterrolebinding called tiller and attach the clusterrole cluster-admin to the serviceaccount tiller.
# kubectl -n kube-system create serviceaccount tiller
# kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
ubuntu@namenode:~$ kubectl get -n kube-system serviceaccount tiller
NAME SECRETS AGE
tiller 1 35m
> Finally initialize the helm with the below command:
# helm init --service-account tiller
ubuntu@namenode:~$ kubectl -n kube-system get clusterrolebinding,deploy,serviceaccount,pods,replicasets | grep tiller
clusterrolebinding.rbac.authorization.k8s.io/tiller 147m
deployment.apps/tiller-deploy 1/1 1 1 146m
serviceaccount/tiller 1 51m
pod/tiller-deploy-7b875fbf86-gqn9g 1/1 Running 0 41m
replicaset.apps/tiller-deploy-7b875fbf86 1 1 1 146m
ubuntu@namenode:~$ helm version --short
Client: v2.15.1+gcf1de4f
Server: v2.15.1+gcf1de4f
#############################################
Now start installing the packages that you want in the k8s cluster.
ubuntu@namenode:~$ helm search traefik
NAME CHART VERSION APP VERSION DESCRIPTION
stable/traefik 1.78.4 1.7.14 A Traefik based Kubernetes ingress controller with Let's ...
###########################################
ubuntu@namenode:~$ helm search nginx-ingress
NAME CHART VERSION APP VERSION DESCRIPTION
stable/nginx-ingress 1.24.4 0.26.1 An nginx Ingress controller that uses ConfigMap to store ...
stable/nginx-lego 0.3.1 Chart for nginx-ingress-controller and kube-lego
###########################################
ubuntu@namenode:~$ helm search jenkins
NAME CHART VERSION APP VERSION DESCRIPTION
stable/jenkins 1.7.9 lts Open source continuous integration server. It supports mu...
###########################################
ubuntu@namenode:~$ helm inspect stable/jenkins | head
apiVersion: v1
appVersion: lts
description: Open source continuous integration server. It supports multiple SCM tools
including CVS, Subversion and Git. It can execute Apache Ant and Apache Maven-based
projects as well as arbitrary scripts.
home: https://jenkins.io/
icon: https://wiki.jenkins-ci.org/download/attachments/2916393/logo.png
maintainers:
- email: lachlan.evenson@microsoft.com
name: lachie83
ubuntu@namenode:~$
That is all cheers ;-)
There are two parts to Helm: The Helm client (helm) and the Helm server (Tiller).
https://helm.sh/docs/using_helm/#installing-helm
1) ssh to your k8s master node
2) Download the helm client from the url : https://github.com/helm/helm/releases
Linux amd64 (checksum)
# wget https://get.helm.sh/helm-v2.15.1-linux-amd64.tar.gz
# tar -xzvf helm-v2.15.1-linux-amd64.tar.gz
# mv linux-amd64/helm /usr/local/bin
# which helm
# helm version --client --short
3) Now we need to initialize the helm server (Tiller) in the k8s cluster.
For this,
> first we need to create a serviceaccount called tiller in the kube-system namespace.
> then create a clusterrolebinding called tiller and attach the clusterrole cluster-admin to the serviceaccount tiller.
# kubectl -n kube-system create serviceaccount tiller
# kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
ubuntu@namenode:~$ kubectl get -n kube-system serviceaccount tiller
NAME SECRETS AGE
tiller 1 35m
ubuntu@namenode:~$ kubectl get -n kube-system clusterrole cluster-admin
NAME AGE
cluster-admin 7d23h
# helm init --service-account tiller
ubuntu@namenode:~$ kubectl -n kube-system get clusterrolebinding,deploy,serviceaccount,pods,replicasets | grep tiller
clusterrolebinding.rbac.authorization.k8s.io/tiller 147m
deployment.apps/tiller-deploy 1/1 1 1 146m
serviceaccount/tiller 1 51m
pod/tiller-deploy-7b875fbf86-gqn9g 1/1 Running 0 41m
replicaset.apps/tiller-deploy-7b875fbf86 1 1 1 146m
ubuntu@namenode:~$ helm version --short
Client: v2.15.1+gcf1de4f
Server: v2.15.1+gcf1de4f
#############################################
Now start installing the packages that you want in the k8s cluster.
ubuntu@namenode:~$ helm search traefik
NAME CHART VERSION APP VERSION DESCRIPTION
stable/traefik 1.78.4 1.7.14 A Traefik based Kubernetes ingress controller with Let's ...
###########################################
ubuntu@namenode:~$ helm search nginx-ingress
NAME CHART VERSION APP VERSION DESCRIPTION
stable/nginx-ingress 1.24.4 0.26.1 An nginx Ingress controller that uses ConfigMap to store ...
stable/nginx-lego 0.3.1 Chart for nginx-ingress-controller and kube-lego
###########################################
ubuntu@namenode:~$ helm search jenkins
NAME CHART VERSION APP VERSION DESCRIPTION
stable/jenkins 1.7.9 lts Open source continuous integration server. It supports mu...
###########################################
ubuntu@namenode:~$ helm inspect stable/jenkins | head
apiVersion: v1
appVersion: lts
description: Open source continuous integration server. It supports multiple SCM tools
including CVS, Subversion and Git. It can execute Apache Ant and Apache Maven-based
projects as well as arbitrary scripts.
home: https://jenkins.io/
icon: https://wiki.jenkins-ci.org/download/attachments/2916393/logo.png
maintainers:
- email: lachlan.evenson@microsoft.com
name: lachie83
ubuntu@namenode:~$
That is all cheers ;-)
Comments