ack-agent-sandbox-controller

更新时间:
复制 MD 格式

ack-agent-sandbox-controller 是一个基于 Kubernetes 的扩展组件,旨在提供标准化、产品化的 Sandbox 生命周期管理能力。本文介绍 ack-agent-sandbox-controller 组件的基本信息、使用说明和变更记录。

组件介绍

ack-agent-sandbox-controller 是一个基于 Kubernetes 的扩展组件,旨在提供标准化、产品化的 Sandbox 生命周期管理能力。

使用说明

关于 ACS Agent Sandbox 的使用方式,请参见创建Agent Sandbox

变更记录

202607

版本号

变更时间

变更内容

变更影响

v0.5.22-release.2

20260729

  • 功能特性:

    • 【重要】零信任身份认证体系:Claim 时通过 TokenKind 签发 JWT Access Token,用于客户端经网关访问 Sandbox,Traffic access token 仅保存在内存中,不持久化到 CR。Sandbox resume 后重新签发 Security Token,确保 CSI 重新挂载时使用有效凭证。Security Token 刷新推迟到 Sandbox Ready 后,避免 Pod 未就绪时过早刷新,并优化刷新策略。新增 RRSA 存储认证支持,用于按需 CSI 挂载场景,基于 STS 方式实现安全的存储挂载。

    • K8s 生命周期事件:控制器新增 K8s Event 支持,Pod 创建失败时发出 Event 并设置 Condition,便于排查。

    • SecurityProfile MCP 工具访问控制:SecurityProfile 新增 MCP 工具级别的访问控制策略。

    • agent-runtime v0.0.11 版本更新:对齐社区 native-tag-2026.22,优化 MMDS 日志输出,更新 Runtime 存储挂载 binary 插件版本至 acs.v0.4,支持 STS 方式实现存储动态挂载鉴权。

【重要】零信任身份认证体系调整,Traffic access token 不再持久化到 CR,建议升级后验证 Sandbox 访问链路正常。新增 RRSA 存储认证支持,使用按需 CSI 挂载的用户可通过 STS 凭据方式进行认证。其余功能特性更新不影响现有业务。

v0.5.19-release.3

20260710

  • 功能特性:

    • 新增 traffic-proxy 资源自定义配置支持,traffic-proxy 默认资源已调整(Request: 0.1C/128Mi → 0.2C/128Mi,Limit: 2C/2Gi → 0.2C/128Mi),请根据业务实际流量判断是否需要调整。

    • 升级失败断点续跑:SandboxUpdateOps 升级中断或失败后,可从上次失败的步骤继续恢复,无需从头重来(覆盖镜像变更场景);该能力默认关闭,可通过 feature gate SandboxUpgradeResumeFromFailedStep 按需开启。

  • 问题修复:

    • 修复 SandboxClaim 仅变更 labels 时被误判为需要原地升级、导致获取 Sandbox 变慢的问题。

    • 修复 SandboxUpdateOps 可能选中非运行态 Sandbox 的问题,升级仅作用于 Running/Upgrading 状态的 Sandbox。

    • Sandbox 唤醒前校验 Init Container 镜像一致性,避免镜像不一致导致唤醒后运行异常。

    • 修复当预热池击穿时Sandbox镜像替换未使用镜像缓存的问题。

traffic-proxy 默认资源已调整(Request: 0.1C/128Mi → 0.2C/128Mi,Limit: 2C/2Gi → 0.2C/128Mi),需根据业务实际流量评估是否需要手动调整资源配置。其余修复不影响现有业务。

202606

版本号

变更时间

变更内容

变更影响

v0.5.16-release.2

20260616

  • 问题修复:

    • Sandbox 唤醒后增加 Init Container 镜像一致性检查,确认一致后再执行 Runtime 初始化和 CSI 动态卷挂载。

此次升级不会对业务造成影响。

v0.5.16-release.1

20260612

  • 功能特性:

    • Sandbox 休眠或唤醒后保持 Pod Template Spec 不变,避免唤醒后 Pod 规格发生非预期变更。

    • SandboxSet 自动创建关联的 SandboxTemplate,简化配置流程。

    • 优化大规模 SandboxSet(5000+)场景下的 Claim 性能,新增 CountActiveSandboxes 原地计数替代全量列表拷贝,显著降低 Claim 热路径(Hot Path)开销。

    • Sandbox 删除时的指标清理改为异步执行,从 reconcile 热路径移出,提升删除吞吐量。

    • SandboxUpdateOps 支持处理所有非 SandboxSet 管控的 Sandbox,覆盖直接创建 Sandbox 的升级场景。

  • 问题修复:

    • 修复新扩容的 Sandbox 导致 SandboxUpdateOps 持续处于 Updating 状态的问题,自动跳过 Template 已匹配目标版本的 Sandbox。

    • 稳定 Init Container 注入顺序,保证 Runtimes 容器注入顺序一致,确保向后兼容。

    • 修复 Sandbox 原地升级镜像偶发失败的问题,当 SandboxHashImmutablePart Annotation 缺失时跳过 Immutable Part 校验。

此次升级不会对业务造成影响。

v0.5.14-release.1

20260601

  • 功能特性:

    • 支持启用 Sandbox 流量管理能力,注入 traffic-proxy runtime,通过添加 Pod Annotation network.alibabacloud.com/network-policy-mode=enhanced-traffic-policy 启用。

    • 新增 sandbox_runtime_container_abnormal 指标,用于监控 Sandbox Runtime 容器异常状态。

    • Sandbox Controller 组件中心支持通过配置下发 TrafficPolicy,限制 envd 49983 端口的访问(默认不开启)。

    • Sandbox 创建/删除/休眠/唤醒链路增加 Tracing 支持,通过 FeatureGate SandboxTraceLog=true 开启(默认关闭)。

  • 问题修复:

    • deleteSandboxMetrics 改为异步调用,解决高并发删除 Sandbox 场景下 DeletePartialMatch 锁竞争导致的 reconcile 阻塞问题。

    • 修复 Sandbox 处于 Pending 阶段时 Status 未持久化的问题。

此次升级不会对业务造成影响。

202605

版本号

变更时间

变更内容

变更影响

v0.5.13-release.1

20260521

  • 问题修复:

    • 修复了 SandboxUpdateOps 执行 Lifecycle 脚本失败时,Sandbox Status Condition 的message字段未包含脚本stdoutstderr的问题,以提升故障排查效率。

    • Sandbox 唤醒时增加resumedCondition.Status=True兜底判断,解决底层休眠成功但 Pod Ready 仍为 True 时唤醒流程阻塞的问题。

  • 功能特性:

    • 校验 SandboxSet VolumeClaimTemplates 字段的挂载合法性。

    • SandboxClaim 新增 TTLAfterCompletedWaitReadyTimeout 字段校验。

    • 新增门控特性(FeatureGate)SandboxMultiClusterNaming,在 Sandbox generateName中嵌入集群 ID 哈希值,规避多集群 Name 冲突(默认关闭,可在组件中心开启)。

    • 支持 SandboxClaim 或 E2B SDK方式创建Sandbox时,从预热池原地升配 CPU(仅支持升配)。

    • CRD types添加Strategic Merge Patch markers,提升 kubectl apply 性能并降低 API Server 负载。

    • 新增 Sandbox 休眠、唤醒及升级操作的 Prometheus 指标,用于监控大盘展示。

    • Sandbox 休眠及唤醒后的 CSI 动态挂载能力移植到 Sandbox Controller,移除对Sandbox Manager 的依赖。

此次升级不会对业务造成影响。

v0.5.12-release.3

20260511

  • 问题修复:

    • 修复 E2B 链路创建的 Sandbox 在 SandboxUpdateOps 升级时未触发动态挂载的问题。

此次升级不会对业务造成影响。

v0.5.12-release.2

20260508

  • 问题修复:

    • SandboxClaim 在配置SkipInitRuntime=false但未配置 agent-runtime 时跳过 InitRuntime 并记录错误日志。

    • SandboxSet maxUnavailable 百分比计算改为向上取整,确保至少有 1 个 Sandbox 可以被更新。

此次升级不会对业务造成影响。

v0.5.12-release.1

20260506

  • 功能特性:

    • SandboxSet 支持升级预热池中的Sandbox,updateStrategy支持maxUnavailable

    • Sandbox 支持updateStrategy=Recreate以及 Lifecycle preUpgradepostUpgrade(升级之后会执行动态挂载CSI)。

    • 支持使用 SandboxUpdateOps CR 对已分配的 Sandbox 进行升级。

    • 在休眠唤醒场景中,支持使用SandboxClaim控制器方式实现动态挂载。

    • 允许显式配置ops.alibabacloud.com/pause-enabled='false'

    • 支持 Sandbox 监控指标,其生成和暴露方式与 kube-state-metrics 一致。

    • Sandbox 支持 CPU VPA垂直伸缩。默认关闭,可通过特性门控SandboxInPlaceResourceResizeGate=true开启。

    • 通过 Pod Validate Webhook 提供防止误删除 Pod 的能力。

    • 使用SandboxClaim方式获取 Sandbox 时支持修改 Pod Labels。

此次升级不会对业务造成影响。