Introduction
Helm is a tool for deploying apps to Kubernetes. It is time consuming that deploying a bunch of pods by hand, but Helm is very useful for such situation. Helm enables users to deploy many resources Kubernetes at once. It also works like “apt” or “yum” because you can load Helm charts that made by someone else from Helm repository.
This page introduces that how to install Helm to your ARM k3s cluster.
Install helm cli
It is important that download an appropriate binary for your system. You can find a bunch of binaries from this page.
https://github.com/helm/helm/releases
What you should download is Linux arm
version. This is example of download command.
$ curl -O https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-arm64.tar.gz
Please check the latest version before you download.
Then, unarchive and move it.
$ tar -zxvf helm-v2.13.1-linux-arm64.tar.gz
$ mv linux-arm/helm /usr/local/bin/helm
Install tiller
Tiller is a serer component of Helm. Tiller deploys resources by your instruction of helm CLI. It is necessary to append authority for the behavior.
First, add tiller
service account.
kubectl -n kube-system create serviceaccount tiller
Then, give cluster-admin
role to tiller
$ kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
This binding is too redundant, so it might be better to constrain it.
Initialize Helm
$ helm init --service-account tiller --kubeconfig=/var/lib/rancher/k3s/agent/kubeconfig.yaml --tiller-image jessestuart/tiller:latest-arm
Then, tiller is deployed. You can check it with kubectl.
$ k get po -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-857cdbd8b4-vskmp 1/1 Running 12 6d3h
svclb-traefik-64f7684b86-896zs 3/3 Running 38 6d3h
svclb-traefik-64f7684b86-t9dcs 3/3 Running 23 5d12h
tiller-deploy-564579f564-wgqfp 1/1 Running 5 4d7h
traefik-55bd9646fc-xqq65 1/1 Running 3 4d
Test
You can use helm command like this.
$ helm install stable/mysql
Then some resources for mysql will deployed to your cluster.
To delete all resources related with installed chart, execute command like this.
$ helm del --purge punk-octopus
--purge
option deletes the chart from local store. You can see list of charts what you’ve downloaded by helm list
.