Resultado de helm version
:
Client: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Resultado de 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"}
Provedor / plataforma de nuvem (AKS, GKE, Minikube etc.):
GKE
Problema:
helm install --name jenkins stable/jenkins
resultado:
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 ao instalar um gráfico e quando nenhum namespace for especificado, ele será instalado no namespace padrão do cluster (que geralmente é "padrão"). Parece que você não tem acesso a este namespace.
Você pode obter uma lista de seus namespaces no cluster da seguinte maneira: kubectl get namespaces
. Você pode passar o seguinte argumento para install
para usar um namespace específico: --namespace <namespace>
.
O que eu fiz foi:
1) Crie a conta de serviço (se já existir nada acontece)
kubectl -n kube-system create serviceaccount tiller
2) Vincule essa conta de serviço à função administrador de cluster
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Init Tiller com "--upgrade" porque já foi implantado
helm init --upgrade --service-account tiller
Isso funcionou para mim.
fechando conforme respondido.
Comentários muito úteis
O que eu fiz foi:
1) Crie a conta de serviço (se já existir nada acontece)
kubectl -n kube-system create serviceaccount tiller
2) Vincule essa conta de serviço à função administrador de cluster
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Init Tiller com "--upgrade" porque já foi implantado
helm init --upgrade --service-account tiller
Isso funcionou para mim.