首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes了解- kubectl auth can-i的输出

Kubernetes了解- kubectl auth can-i的输出
EN

Stack Overflow用户
提问于 2020-07-13 19:38:59
回答 1查看 715关注 0票数 2

我试图理解为什么在一个集群上允许一个操作,但在另一个集群上我得到了以下结果

代码语言:javascript
复制
Exception encountered setting up namespace watch from Kubernetes API v1 endpoint https://10.100.0.1:443/api: namespaces is forbidden: User \"system:serviceaccount:kube-system:default\" cannot list resource \"namespaces\" in API group \"\" at the cluster scope ({\"kind\":\"Status\",\"apiVersion\":\"v1\",\"metadata\":{},\"status\":\"Failure\",\"message\":\"namespaces is forbidden: User \\\"system:serviceaccount:kube-system:default\\\" cannot list resource \\\"namespaces\\\" in API group \\\"\\\" at the cluster scope\",\"reason\":\"Forbidden\",\"details\":{\"kind\":\"namespaces\"},\"code\":403}\n)"

我在管理两个Kubernetes集群-

使用Kops版本v1.14.8引导的clusterA

在AWS EKS版本v1.14.9-eks-f459c0上启动的clusterB

所以我尝试使用kubectl auth命令来解决这个问题,我确实看到在一个命令上我是被允许的,但是在第二个命令中,我不被允许,正如你所看到的:

代码语言:javascript
复制
kubectl config use-context clusterA
Switched to context "clusterA".
kubectl auth can-i list pods --as=system:serviceaccount:kube-system:default -n kube-system
yes
kubectl config use-context clusterB
Switched to context "clusterB".
kubectl auth can-i list pods --as=system:serviceaccount:kube-system:default -n kube-system
no

有没有办法理解这两个基于yes/no的决定是什么?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2020-07-13 19:48:52

决策yes/no基于是否存在允许default命名空间中的kube-system服务帐户在资源list上执行动词namespaceclusterroleclusterrolebindingrolebinding

对于namespace资源,诀窍在于需要有一个clusterrole而不是role,因为namespace是集群范围内的资源。

您可以使用以下命令检查Kubernetes群集中存在的clusterroleroleclusterrolebindingrolebinding是什么

代码语言:javascript
复制
kubectl get clusterrole,clusterrolebinding
kubectl get role,rolebinding -n namespacename

有关更多详细信息,请参阅Kubernetes RBAC here

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62875055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档