如果使用
Azure Cloud Shell
运行 shell 命令,则已安装 kubectl。 如果使用本地 shell 并且已安装
Azure CLI
,也可以通过运行
az aks install-cli
命令来安装 kubectl。
如果运行 kubectl 以获取 AKS 群集节点的详细信息,可能会看到以下错误消息:
$ kubectl get nodes
Error from server (Forbidden): nodes is forbidden: User "aaaa11111-11aa-aa11-a1a1-111111aaaaa" cannot list resource "nodes" in API group "" at the cluster scope
原因 1:角色和角色绑定权限不正确
为 AKS 群集启用基于角色的访问控制 (RBAC) 时,可以通过角色和 RoleBinding (或 ClusterRole 和 ClusterRoleBinding) 设置来控制用户的权限。 如果用户尚未定义正确的权限,则用户在尝试获取群集中资源的详细信息时会看到错误。
解决方案:设置正确的角色和角色绑定
请确保为用户设置正确的 Role 和 RoleBinding。 有关详细示例,请参阅将 Kubernetes RBAC 与 Microsoft Entra 集成配合使用。
原因 2:安全组中的访问分配不正确
如果 AKS 管理与 Microsoft Entra ID 的集成,则用户可能没有正确的安全组分配。
解决方案:让安全组管理员分配正确的访问级别
请确保安全组的管理员已为你帐户分配了“活动”或“条件访问”。 请参阅 AKS 托管Microsoft Entra集成。 本文介绍了如何设置 活动分配 或 条件访问分配。
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback。
提交和查看相关反馈