使用Azure DevOps创建AKS私有集群部署管道遇报错求助
问题:Azure DevOps部署AKS私有集群管道报错
我正使用Azure DevOps创建用于部署到Azure Kubernetes Service(AKS)的管道,在创建AKS私有集群的部署管道时遇到报错。已在Azure DevOps中创建用于连接AKS的服务主体,相关报错截图如下:


解决方法
1. 检查服务主体权限
- 确保服务主体拥有AKS集群的Contributor或Azure Kubernetes Service Cluster Admin角色,权限作用范围需覆盖目标AKS集群及所在资源组。
- 若权限不足,在Azure门户中为服务主体添加对应角色。
2. 打通Azure DevOps代理与AKS私有集群的网络
AKS私有集群的API服务器仅允许私有网络访问,需确保Azure DevOps代理能连通:
- 使用Microsoft托管代理:将AKS API服务器的允许IP列表添加Azure DevOps托管代理的出站IP段,或配置VNet对等连接将代理所在VNet与AKS VNet连通。
- 使用自托管代理:将代理部署在AKS私有集群所在VNet内,或通过VPN/Express Route实现跨VNet访问。
3. 核对AKS服务连接配置
- 在Azure DevOps的服务连接页面,确认AKS集群名称、订阅ID、资源组信息完全正确。
- 尝试删除并重新创建AKS服务连接,使用服务主体的最新客户端ID和密钥授权,避免配置缓存问题。
4. 验证AKS API服务器访问规则
- 登录Azure门户,进入AKS集群的网络配置页,检查API服务器的私有端点是否正常运行,授权IP范围是否包含代理IP。
- 若启用了私有DNS区域,确认DNS解析能正常指向AKS API服务器的私有IP。
5. 确认服务主体有效性
- 检查服务主体的密钥是否过期,若过期则重新生成密钥并更新Azure DevOps服务连接。
- 用Azure CLI验证服务主体能否访问AKS:
若命令失败,优先修复服务主体的权限或密钥问题。az login --service-principal -u <客户端ID> -p <客户端密钥> --tenant <租户ID> az aks get-credentials --resource-group <资源组名> --name <AKS集群名> kubectl get nodes
内容的提问来源于stack exchange,提问作者powerful
相关产品推荐
相关产品推荐

