裸金属Kubernetes集群执行kubectl get ns报namespaces is forbidden问题求助
kubectl get ns 权限禁止错误原因分析
执行kubectl get ns时出现如下错误:
namespaces is forbidden: User "system:node:k8-node-1" cannot list resource
错误原因如下:
- 当前执行命令的身份是
system:node:k8-node-1,这是Kubernetes节点组件默认使用的系统身份,权限被严格限制,仅用于节点与集群的基础交互,不具备查看命名空间列表的权限。 - 你应该是误用了节点上的kubeconfig文件(比如节点路径
/var/lib/kubelet/kubeconfig)来执行命令,而非使用拥有足够权限的用户kubeconfig(比如集群管理员的配置文件)。节点的kubeconfig绑定的就是system:node:<节点名>这个受限身份,仅能完成节点相关的必要操作,无法执行get ns这类需要集群级查看权限的命令。
内容的提问来源于stack exchange,提问作者CaptainPy
相关产品推荐
相关产品推荐

