namespaces “monitoring” is forbidden: User “system:serviceaccount:kube-system:default” cannot get resource “namespaces” in API group “” in the namespace “monitoring”
这里大概是说,使用 kube-system 命名空间下的default用户进行资源操作但是default 用户没有权限
解决方案如下:
创建一个 tillerServiceAccount.yaml,并使用 kubectl apply -f tillerServiceAccount.yaml 创建账号解角色,其中kube-system就是xxxx就是你的命名空间
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
重点:kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
使用这个命令修改你的默认调用账号为刚创建的 tiller 账号,否则依然会报错。