You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps连接Kubernetes私有集群失败:环境与服务连接配置指南

解决Azure DevOps连接Kubernetes私有集群无法加载命名空间的方案

1. 先验证自托管代理的本地集群访问能力

  • 在代理VM上直接执行kubectl get namespaces,确认能正常返回命名空间列表。如果失败,先解决本地访问问题:
    • 检查kubeconfig上下文是否正确:kubectl config current-context,确保指向目标私有集群
    • 测试集群API server连通性:curl -k https://<集群API地址>:443/version,确认能返回JSON数据
    • 排查VNet/NSG规则:确保代理VM所在子网到集群API server的443端口开放

2. 重新配置Kubernetes服务连接

放弃自动检测,采用手动配置方式:

  • 通过服务账户认证(推荐最小权限原则):
    1. 创建专用服务账户及绑定权限:
      # 创建代理专用命名空间
      kubectl create namespace azdo-pipeline
      # 创建服务账户
      kubectl create serviceaccount azdo-sa -n azdo-pipeline
      # 绑定集群级权限(按需调整为最小必要权限,比如仅允许访问目标命名空间)
      kubectl create clusterrolebinding azdo-sa-binding --clusterrole=cluster-admin --serviceaccount=azdo-pipeline:azdo-sa
      
    2. 获取服务账户的token和CA证书:
      # 获取关联的secret名称
      SECRET_NAME=$(kubectl get sa azdo-sa -n azdo-pipeline -o jsonpath='{.secrets[0].name}')
      # 解码token
      TOKEN=$(kubectl get secret $SECRET_NAME -n azdo-pipeline -o jsonpath='{.data.token}' | base64 -d)
      # 解码CA证书
      CA_CERT=$(kubectl get secret $SECRET_NAME -n azdo-pipeline -o jsonpath='{.data.ca\.crt}' | base64 -d)
      
    3. 在Azure DevOps创建服务连接:
      • 选择“Kubernetes”类型,点击“手动输入”
      • 填入集群API server地址(从kubeconfig的server字段获取)
      • 将解码后的CA证书粘贴到“证书授权”字段
      • 选择“服务账户”认证方式,粘贴上面获取的token
      • 可选:指定默认命名空间,或留空允许访问所有
  • 通过kubeconfig文件导入:
    • 上传代理VM上能正常工作的kubeconfig文件(确保文件包含集群上下文、用户认证信息)
    • 服务连接配置中选择“从kubeconfig文件导入”,并验证连接

3. 配置Pipeline环境

  • 创建环境时选择“Kubernetes”类型,关联上述配置好的服务连接
  • 若服务连接已正常验证,环境将自动加载可用的命名空间列表
  • 按需添加环境资源(比如指定目标命名空间、部署资源等)

4. 排查网络与安全策略

  • Kubernetes网络策略:检查是否有策略限制了服务账户对命名空间的访问,确保azdo-sa服务账户有权限访问目标命名空间的资源
  • Azure私有集群DNS:如果是AKS私有集群,确认代理VM能解析API server的私有DNS(需配置Azure私有DNS区域并关联VNet)
  • 代理服务状态:在Azure DevOps代理池页面确认代理处于“在线”状态,必要时重启代理服务(Linux执行./svc.sh restart,Windows重启Azure Pipelines Agent服务)

内容的提问来源于stack exchange,提问作者powerful

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 03:26:03