用户无法获取群集资源

本文介绍如何解决无法在 Azure Kubernetes 服务 (AKS) 群集中获取资源的详细信息时出现的问题。

先决条件

  • Kubernetes 群集命令行工具 (kubectl) 。

注意

如果使用 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 反馈社区提交产品反馈。