Вывод helm version
:
Client: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Вывод 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"}
Облачный провайдер / платформа (AKS, GKE, Minikube и т. Д.):
GKE
Проблема:
helm install --name jenkins stable/jenkins
выход:
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 при установке диаграммы и если пространство имен не указано, она будет установлена в пространство имен кластера по умолчанию (которое обычно является «по умолчанию»). Похоже, у вас нет доступа к этому пространству имен.
Вы можете получить список ваших пространств имен в кластере следующим образом: kubectl get namespaces
. Вы можете передать следующий аргумент install
чтобы использовать определенное пространство имен: --namespace <namespace>
.
Что я сделал:
1) Создайте учетную запись службы (если она уже существует, ничего не происходит)
kubectl -n kube-system create serviceaccount tiller
2) Привяжите этот serviceaccount к роли администратора кластера.
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Запустите Tiller с помощью "--upgrade", потому что он уже был развернут
helm init --upgrade --service-account tiller
Это сработало для меня.
закрытие, как ответил.
Самый полезный комментарий
Что я сделал:
1) Создайте учетную запись службы (если она уже существует, ничего не происходит)
kubectl -n kube-system create serviceaccount tiller
2) Привяжите этот serviceaccount к роли администратора кластера.
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3) Запустите Tiller с помощью "--upgrade", потому что он уже был развернут
helm init --upgrade --service-account tiller
Это сработало для меня.