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
...
> brew install kubernetes-helm
...
Helm Client
> 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 init> 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-6lv6m 0/1 ImagePullBackOff 0 etcd-docker-for-desktop 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 3h25m 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-minikube 1/1 Running proxy-84lg7 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-xh4jl 25m kubernetes-dashboard-669f9bbd46-j2k2r 1/1 Running 0 3h22m kube-system kube-scheduler-minikubetiller-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
Reference | URL |
---|---|
Helm Home Page | https://helm.sh/ |
How To Install Software on Kubernetes Clusters with the Helm Package Manager | https://www.digitalocean.com/community/tutorials/how-to-install-software-on-kubernetes-clusters-with-the-helm-package-manager |
An Introduction to Helm, the Package Manager for Kubernetes | https://www.digitalocean.com/community/tutorials/an-introduction-to-helm-the-package-manager-for-kubernetes |
Helm on Github | https://github.com/helm/helm |
Quickstart Guide | https://docs.helm.sh/using_helm/#quickstart-guide |
...