I have a Kubernetes cluster in GCP names foo. I created in that cluster a service account for tiller and gave it admin rights as follows:
kubectl -n kube-system create serviceaccount tillerkubectl create clusterrolebinding tiller \
> --clusterrole=cluster-admin \
> --serviceaccount=kube-system:tillerThen I init Helm as follows:
helm init --service-account tillerNow finally when I try to install my own chart:
someserver:helm joe$ helm install onerepo/onechart --name foobar
Error: the server has asked for the client to provide credentialsI am already authenticated for cluster foo and I can describe all its other resources and service accounts. Why I cannot deploy using Helm?
The correct way to install helm and use it:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
helm init --service-account tiller
helm install onerepo/onechart --name foobar