Output of helm version
:
Client: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Output of kubectl version
:
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"0b9efaeb34a2fc51ff8e4d34ad9bc6375459c4a4", GitTreeState:"clean", BuildDate:"2017-09-29T05:56:06Z", GoVersion:"go1.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"12+", GitVersion:"v1.12.5-gke.10", GitCommit:"d0686b9f0adfcf759cde9f1d2d80fd52ab01d58f", GitTreeState:"clean", BuildDate:"2019-02-22T20:02:13Z", GoVersion:"go1.10.8b4", Compiler:"gc", Platform:"linux/amd64"}
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
GKE
Problem:
helm install --name jenkins stable/jenkins
output:
Error: release jenkins failed: namespaces "default" is forbidden: User "system:serviceaccount:kube-system:default" cannot get resource "namespaces" in API group "" in the namespace "default"
Helm when installing a chart and when no namespace is specified, it will install into the cluster default namespace (which is usually "default"). It looks like you don't have access to this namespace.
You can get a list of your namespaces in the cluster as follows: kubectl get namespaces
. You can pass the following arg to install
to use a particular namespace: --namespace <namespace>
.
What I did is:
1) Create the service account (if already exists nothing happens)
kubectl -n kube-system create serviceaccount tiller
2) Bind that serviceaccount to the role cluster-admin
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Init Tiller with "--upgrade" because it was already deployed
helm init --upgrade --service-account tiller
That worked for me.
closing as answered.
Most helpful comment
What I did is:
1) Create the service account (if already exists nothing happens)
kubectl -n kube-system create serviceaccount tiller
2) Bind that serviceaccount to the role cluster-admin
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Init Tiller with "--upgrade" because it was already deployed
helm init --upgrade --service-account tiller
That worked for me.