Salida 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"}
Salida 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"}
Proveedor de nube / plataforma (AKS, GKE, Minikube, etc.):
GKE
Problema:
helm install --name jenkins stable/jenkins
producción:
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 al instalar un gráfico y cuando no se especifica ningún espacio de nombres, se instalará en el espacio de nombres predeterminado del clúster (que suele ser "predeterminado"). Parece que no tiene acceso a este espacio de nombres.
Puede obtener una lista de sus espacios de nombres en el clúster de la siguiente manera: kubectl get namespaces
. Puede pasar el siguiente argumento a install
para usar un espacio de nombres en particular: --namespace <namespace>
.
Lo que hice fue:
1) Crea la cuenta de servicio (si ya existe no pasa nada)
kubectl -n kube-system create serviceaccount tiller
2) Vincular esa cuenta de servicio al rol cluster-admin
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Inicie Tiller con "--upgrade" porque ya estaba implementado
helm init --upgrade --service-account tiller
Eso funcionó para mí.
cerrando como respondido.
Comentario más útil
Lo que hice fue:
1) Crea la cuenta de servicio (si ya existe no pasa nada)
kubectl -n kube-system create serviceaccount tiller
2) Vincular esa cuenta de servicio al rol cluster-admin
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Inicie Tiller con "--upgrade" porque ya estaba implementado
helm init --upgrade --service-account tiller
Eso funcionó para mí.