Ausgabe von helm version
:
Client: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Ausgabe von 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-Anbieter / Plattform (AKS, GKE, Minikube usw.):
GKE
Problem:
helm install --name jenkins stable/jenkins
Ausgabe:
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"
Wenn Sie ein Diagramm installieren und kein Namespace angegeben ist, wird es im Standard-Namespace des Clusters installiert (normalerweise "Standard"). Sie haben anscheinend keinen Zugriff auf diesen Namespace.
Sie können eine Liste Ihrer Namespaces im Cluster wie folgt abrufen: kubectl get namespaces
. Sie können das folgende Argument an install
, um einen bestimmten Namespace zu verwenden: --namespace <namespace>
.
Was ich getan habe ist:
1) Erstellen Sie das Dienstkonto (falls bereits vorhanden, passiert nichts)
kubectl -n kube-system create serviceaccount tiller
2) Binden Sie diesen Dienst an die Rolle Cluster-Administrator
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Init Tiller mit "--upgrade", da es bereits bereitgestellt wurde
helm init --upgrade --service-account tiller
Das hat bei mir funktioniert.
Schließen wie beantwortet.
Hilfreichster Kommentar
Was ich getan habe ist:
1) Erstellen Sie das Dienstkonto (falls bereits vorhanden, passiert nichts)
kubectl -n kube-system create serviceaccount tiller
2) Binden Sie diesen Dienst an die Rolle Cluster-Administrator
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Init Tiller mit "--upgrade", da es bereits bereitgestellt wurde
helm init --upgrade --service-account tiller
Das hat bei mir funktioniert.