Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

What is Helm?

Helm helps you manage Kubernetes applications — Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application.

Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste madness.


List of stable maintained charts

https://github.com/helm/charts/tree/master/stable


Curated applications for Kubernetes

https://github.com/helm/charts

Installation

Installing Helm Client

...

> brew install kubernetes-helm

...

> mkdir /tmp

> curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > install-helm.sh

chmod u+x install-helm.sh

> ./install-helm.sh


Install Service Account

> kubectl -n kube-system create serviceaccount tiller

kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller


Initialize Helm

Once you have Helm ready, you can initialize the local CLI and also install Tiller into your Kubernetes cluster in one step:


> helm helm init --service-account = tiller

Code Block
$ helm init

Creating /Users/john.mehan/.helm 
Creating /Users/john.mehan/.helm/repository 
Creating /Users/john.mehan/.helm/repository/cache 
Creating /Users/john.mehan/.helm/repository/local 
Creating /Users/john.mehan/.helm/plugins 
Creating /Users/john.mehan/.helm/starters 
Creating /Users/john.mehan/.helm/cache/archive 
Creating /Users/john.mehan/.helm/repository/repositories.yaml 
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
Adding local repo with URL: http://127.0.0.1:8879/charts  --service-account tiller
$HELM_HOME has been configured at /Users/john.mehan/.helm.


Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.


Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation
Happy Helming!

...

Code Block
$ kubectl get pods --allnamespace kube-namespacessystem
NAMESPACENAME     NAME                                    READY   STATUS             RESTARTS   AGE
default       cloudservice-59cb494cb6-6lv6metcd-docker-for-desktop           0/1     ImagePullBackOff   0          3h
default       hello-minikube-6c47c66d8-tqrt7          1/1     Running            1          222d
default       isservice-74cfdd65cc-kbbcc              0/1     ImagePullBackOff   0          3h
default       postgres-77bb78f976-8w6lp               0/1     CrashLoopBackOff   59         3h
default       redis-7c46fb6c6d-z28lw      25m
kube-apiserver-docker-for-desktop            1/1     Running   0         54         3h 25m
kube-system   etcd-minikube                           controller-manager-docker-for-desktop   1/1     Running            0          3h25m
kube-system   kube-addon-manager-minikubedns-86f4d74b45-qhtdj             1/1     Running  3/3     Running   0  1          222d26m
kube-system   kube-apiserver-minikubeproxy-84lg7                 1/1     Running            0          3h
kube-system   kube-controller-manager-minikube        1/1     Running            0          3h26m
kube-system   kube-dns-86f4d74b45-r57mrscheduler-docker-for-desktop               3/31/1     Running    0        4          222d
kube-system   kube-proxy-xh4jl25m
kubernetes-dashboard-669f9bbd46-j2k2r                        1/1     Running            0          3h22m
kube-system   kube-scheduler-minikube tiller-deploy-75f9fbff5d-sg4jn                1/1     Running            0          3h
kube-system   5m


Using Helm

Let's start by installing the kubernetes dashboard using helm.


Installing a Chart

helm install stable/kubernetes-dashboard --name dashboard


List Releases

> helm list

Code Block
NAME5498ccf677-75dx7   1/1  	REVISION	UPDATED   Running            3  	STATUS     	CHART   222d
kube-system   storage-provisioner                     1/1	APP VERSION	NAMESPACE
dashboard	1     Running  	Tue Apr  2       3          222d
kube-system   tiller-deploy-6fd8d857bc-grsk9          1/1     Running            0          4m08:37:56 2019	DEPLOYED	kubernetes-dashboard-0.8.0	1.10.0     	default


Rolling Back a Release

helm rollback dashboard 1


Deleting a Release

> helm delete dashboard

> helm delete --purge dashboard


References

...