非root用户访问私有AKS集群执行kubectl命令遇权限禁止错误如何解决?
解决AKS集群普通用户kubectl权限禁止问题
步骤1:同步kubeconfig文件并修正权限
root用户的kubeconfig默认存放在/root/.kube/config,普通用户需要拥有独立的kubeconfig副本,且文件权限必须严格设置为600:
- 复制root的kubeconfig到普通用户目录:
sudo cp /root/.kube/config ~someuser/.kube/ - 修改文件所属用户及权限:
sudo chown someuser:someuser ~someuser/.kube/config sudo chmod 600 ~someuser/.kube/config
步骤2:配置RBAC权限(若复制后仍报错)
如果同步kubeconfig后依旧出现权限错误,说明当前kubeconfig绑定的用户没有足够的集群级权限:
- 获取当前kubeconfig对应的用户名(即报错信息中的
XX-XX-XX-XX-XX):kubectl config view --minify -o jsonpath='{.users[0].name}' - 创建ClusterRoleBinding,为该用户分配所需权限(示例为全集群管理权限,可根据实际需求替换为更精细的ClusterRole):
kubectl create clusterrolebinding someuser-cluster-admin --clusterrole=cluster-admin --user=<上述获取的用户名>
步骤3:验证结果
切换到普通用户执行命令测试:
su - someuser kubectl get pods -A
内容的提问来源于stack exchange,提问作者RSW
相关产品推荐
相关产品推荐

