Installing the ATLAS calorimeter (Image: © CERN)

Set up helm on an ARM cluster

By default starting helm with helm init will install a amd64 version of tiller. On an ARM cluster like my raspberry pi3 setup you'll end up with an endlessly restarting pod.

You will have to manually install an ARM build of tiller - but first we will need a service account:

rbac-config.yaml:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system

Create the service account

kubectl create -f rbac-config.yaml
serviceaccount/tiller created
clusterrolebinding.rbac.authorization.k8s.io/tiller created

And now we can init helm with that service account and an ARM image:

helm init --service-account tiller --tiller-image=jessestuart/tiller:v2.9.1

$HELM_HOME has been configured at /home/morpheus/.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!

kubectl get pods --all-namespaces | grep tiller
kube-system   tiller-deploy-55764b496b-k2xm5          1/1     Running   0          70s

Done.