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

在AKS集群中部署Azure DevOps Build Agents的落地方案咨询

部署方案及问题解答

1. 微软官方Build Agent镜像说明

  • 微软官方维护了Azure DevOps Agent的基础镜像,分为通用全量镜像和轻量化基础镜像两类
  • 全量镜像预装了多语言环境、通用构建工具,体积较大,不符合轻量化需求
  • 官方提供了纯净的Debian系Agent基础镜像,仅包含Agent运行核心依赖,可基于该镜像二次构建适配Java业务的自定义镜像

2. 自定义Java业务镜像构建方案

你可以基于官方Debian版Agent基础镜像添加Zulu JDK环境,参考Dockerfile如下:

# 基于官方Debian系Azure DevOps Agent基础镜像
FROM mcr.microsoft.com/azure-pipelines/vsts-agent:debian-latest
USER root
# 按照Zulu JDK官方Debian系安装步骤添加对应安装逻辑,此处以JDK11为例
RUN apt-get update && \
    apt-get install -y --no-install-recommends gnupg2 ca-certificates curl && \
    # 导入Zulu GPG密钥、添加Zulu软件源步骤
    apt-get update && \
    apt-get install -y --no-install-recommends zulu11-jdk && \
    rm -rf /var/lib/apt/lists/*
USER vsts

构建完成后推送到AKS绑定的容器镜像仓库即可使用,整体镜像体积可控制在1GB以内,符合轻量化要求。

3. AKS集群部署及自动扩缩容实现

适配你当前AKS 1.19.11版本和Azure DevOps Server环境,可采用KEDA(Kubernetes事件驱动扩缩容组件)实现基于ADO任务负载的自动扩缩容:

  • 先在AKS集群中部署KEDA 2.0+版本,该版本兼容K8s 1.19,其自带的Azure DevOps触发器可适配绝大多数Azure DevOps Server版本,如遇版本兼容问题可调整触发器调用的ADO API版本即可
  • 配置KEDA的Azure DevOps触发器,绑定你的ADO Server团队项目的代理池,触发器会定期拉取代理池的待执行任务数量
  • 配置ScaledObject资源,设置最小副本数、最大副本数,当待执行任务数大于0时自动扩容Agent Pod,任务执行完成后空闲一段时间自动缩容到最小值
  • Agent Pod启动时会自动注册到你指定的ADO Server代理池,无需手动配置节点注册

4. ADO流水线触发配置

  • 在Azure DevOps Server中创建专用代理池,关联你部署的K8s Agent
  • 流水线配置中指定使用该专用代理池,执行任务时会自动调度到AKS中运行的Agent Pod上
  • 如果你的流水线需要额外依赖,可直接打包到自定义Agent镜像中,或者在流水线第一步配置依赖拉取逻辑,即可实现带依赖项的任务执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:27:01