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 tiller
kubectl create clusterrolebinding tiller \
> --clusterrole=cluster-admin \
> --serviceaccount=kube-system:tiller
Then I init Helm
as follows:
helm init --service-account tiller
Now 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 credentials
I 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