本文介绍如何排查在尝试创建Microsoft Azure Kubernetes 服务(AKS)群集时找不到或无效的服务主体的问题。
先决条件
使用 Azure CLI 2.0.81 或更高版本运行本文中的命令。
原因
创建 AKS 群集时,AKS 需要服务主体或托管标识来代表你管理资源。 默认情况下,AKS 使用系统分配的托管标识。 如果希望改用服务主体,请注意 AKS 不会自动为你创建一个服务主体。 必须在创建群集期间提供自己的服务主体并引用它。 有关详细信息,请参阅 将服务主体与 Azure Kubernetes 服务(AKS)配合使用。
尽管 AKS 身份验证支持服务主体,但我们建议使用系统分配的托管标识。 此标识可以简化凭据管理,并且是新群集的默认选项。
此外,创建服务主体时,请确保它通过Microsoft Entra ID 传播到所有区域。 如果此传播时间过长,则群集可能无法验证,因为 AKS 找不到服务主体。
解决方案
确保存在有效的可查找服务主体。 为此,请使用下列方法之一:
创建 AKS 群集时,请考虑使用已跨区域传播的现有服务主体。 虽然没有直接方法来验证传播状态,但可以使用以前部署的服务主体来验证功能。 或者,如果使用新主体,则允许主体在开始创建群集之前传播 5-10 分钟。
若要验证服务主体是否已准备就绪,请执行
az ad sp show --id <appId>命令并检查输出,然后再继续创建 AKS 群集。如果使用自动化脚本,请在服务主体创建与 AKS 群集创建之间添加时间延迟。 建议延迟 5 到 10 分钟。
如果使用Azure 门户,请在尝试创建群集后返回到群集设置,然后在几分钟后重试验证页。
联系我们寻求帮助
如果有疑问,可以询问 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。