Agent Skills
返回列表
🔒

Buildkite 代理集群弹性伸缩器

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/buildkite-agent-fleet-scaler。

技能介绍

解决的问题

Buildkite 流水线的算力供给往往写成一个静态数字:Agent 池固定开多少台,高峰排队、低谷闲置。带来的直接后果是反馈变慢与账单浪费同时存在。队尾的 job 等待时间拉长时,说明容量已经不够,但人工扩缩既慢又容易错过窗口。

核心能力

  • 基于指标驱动扩缩:读取 queue depth 与作业等待时间,而不是定时器或固定阈值。
  • 统一入口:通过 Buildkite GraphQL API 触发扩展动作,与 CI 编排层解耦。
  • 多形态后端:同时覆盖 AWS EC2 Spot 实例与 Kubernetes HPA 两类容量来源,适合混合或迁移中的基础设施。

关键步骤大致是:轮询队列状态 → 计算目标容量 → 下发扩缩指令 → 观察新 Agent 接入并承接 job。EC2 侧关注 Spot 容量变化与回收,K8s 侧关注 HPA 的目标指标与扩容延迟。

适用边界与注意点

  • 运行前先审阅上游代码:该技能无法自动提取基于源代码的安装或使用说明,建议在敏感工作流中接入前先 review 上游项目。
  • 冷启动不是零成本:新实例拉起、镜像拉取、Agent 注册都有延迟,扩得太晚可能让队尾 job 继续等。
  • Spot 会中断:EC2 Spot 的回收意味着必须依赖替换机制,否则节点消失会留下悬空 job。
  • HPA 指标要选对:容器环境里若只用 CPU 这类滞后指标,容易扩在需求后面。

参考文档:https://buildkite.com/docs

使用场景

  • CI 流量短时上涨,队列积压,需要自动补足 Agent 数量。
  • 混合环境同时跑 EC2 与 K8s,需要统一按队列指标扩缩容。
  • 夜间 batch job 排队过长,希望根据等待时间自动拉起实例。
  • Spot 节点被回收后,需要按队列深度快速补齐容量缺口。

适合人员

  • CI/CD 平台工程师,负责让流水线在峰值时不排队。
  • Kubernetes 运维工程师,需要调优 HPA 以承接构建负载。
  • 云基础设施负责人,希望用 Spot 实例压低 CI 账单。
  • Buildkite 插件开发者,要在真实队列上验证扩缩逻辑。