运行“az aks get-credentials”命令时出现 Azure Kubernetes 错误

时间:2021-02-03 18:32:56

标签: azure kubernetes azure-aks

Azure 管理员为我们创建了一个集群。 在 VM 上我安装了 "az cli" and "kubectl"。 使用 Azure 门户中的帐户,我可以看到它所属的 Kubernetes 服务和资源组。 从 Azure 门户中该集群的级别我可以看到我有一个角色:

<块引用>

“AKS 集群管理员操作员”

我使用 kubectl 使用我的帐户登录了 VM。我需要配置我的 kubectl 以使用我们的集群。 当我尝试执行时:

az aks get-credentials --resource-group FRONT-AKS-NA2 --name front-aks

我收到错误:

<块引用>

禁止错误:具有对象 ID 的客户端“my_name@my_comp.COM” “4ea46ad637c6”无权执行操作 'Microsoft.ContainerService/managedClusters/listClusterUserCredential/action' 超范围 '/subscriptions/89e05d73-8862-4007-a700-0f895fc0f7ea/resourceGroups/FRONT-AKS-NA2/providers/Microsoft.ContainerService/managedClusters/front-aks' 或者范围无效。如果最近授予访问权限,请 刷新您的凭据。

2 个答案:

答案 0 :(得分:2)

嗯,我看到评论了,你已经得到了解决方案。所以我只能向你解释其中的区别。希望能帮到你!

当您使用不带参数 az aks get-credentials 的命令 --admin 时,表示 CLI 命令使用 default value:集群用户。当您使用集群用户时,如果您将 AKS 与 AAD 集成,它就可以工作。但是您说您只有 AKS Cluster Admin Operator 角色,因此相应的参数是 --admin。您可以获得更多详情here

在我这边,这有点危险。如果AKS集群只是为了测试,没有问题。但是如果是用于生产,我建议你与 AAD 集成,然后给用户适当的权限。因为 admin 用户意味着您拥有所有权限,所以您知道,这是不安全的。

答案 1 :(得分:1)

在我的情况下,刷新最近授予的凭据对此有帮助:

az account set --subscription "your current subscription name"

它导致重新登录并解决问题。