Unable to initialize helm (tiller) on newly created GKE cluster

11/21/2019

I have just created a GKE cluster on Google Cloud platform. I have installed in the cloud console helm :

$ helm version
version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}

I have also created the necessary serviceaccount and clusterrolebinding objects:

$ cat helm-rbac.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


$ kubectl apply -f helm-rbac.yaml                                                                    

serviceaccount/tiller created
clusterrolebinding.rbac.authorization.k8s.io/tiller created

However trying to initialise tiller gives me the following error:

$ helm init --service-account tiller --history-max 300
Error: unknown flag: --service-account

Why is that?

-- pkaramol
google-cloud-platform
google-kubernetes-engine
kubernetes
kubernetes-helm

1 Answer

11/21/2019

However trying to initialise tiller gives me the following error:

Error: unknown flag: --service-account

Why is that?

Helm 3 is a major upgrade. The Tiller component is now obsolete.

There is no command helm init therefore also the flag --service-account is removed.

The internal implementation of Helm 3 has changed considerably from Helm 2. The most apparent change is the removal of Tiller.

-- Jonas
Source: StackOverflow