在Azure DevOps中创建到Azure Kubernetes Service的服务连接时出错
AKS 1.25集群Azure DevOps服务连接创建失败解决办法
问题背景
AKS 1.25及以上版本默认禁用本地服务账户,且官方建议保持该设置。即便持有Contributor和AKS管理员权限,在Azure DevOps创建服务连接时仍会因默认身份验证方式依赖本地服务账户而失败,错误提示为:
无法获取AKS集群的管理凭据,因为已禁用本地服务账户。请使用Azure AD服务主体或托管标识进行身份验证。
解决方案
方式1:用Azure AD服务主体创建服务连接
- 在Azure门户创建Azure AD服务主体,为其分配AKS集群的
Azure Kubernetes Service Cluster User Role或Azure Kubernetes Service Cluster Admin Role权限 - Azure DevOps中创建Azure Resource Manager服务连接,选择“服务主体(手动)”模式,填入服务主体的客户端ID、密钥、租户ID等信息
- 指定目标AKS集群,完成服务连接配置
方式2:使用托管标识(推荐)
- 为Azure DevOps代理池启用系统分配托管标识,或创建用户分配托管标识
- 将托管标识赋予AKS集群的
Azure Kubernetes Service Cluster User Role或Azure Kubernetes Service Cluster Admin Role权限 - Azure DevOps中创建服务连接时选择“托管标识”方式,关联已配置的托管标识
方式3:临时启用本地服务账户(不推荐)
仅用于临时测试,操作后需立即恢复安全设置:
# 启用本地服务账户 az aks update -g <资源组名> -n <集群名> --enable-local-accounts # 测试完成后禁用 az aks update -g <资源组名> -n <集群名> --disable-local-accounts
验证
创建服务连接后点击“验证连接”,确认可正常连接到AKS集群。
内容的提问来源于stack exchange,提问作者Arshad Badar Khan
相关产品推荐
相关产品推荐

