deploy: 启用 Runner 后端容量池
yaml / yaml (pull_request) Successful in 48s

This commit is contained in:
2026-09-21 07:33:31 +00:00
parent b82ba4d5a0
commit d6b97355d6
2 changed files with 5 additions and 3 deletions
+4 -2
View File
@@ -24,8 +24,10 @@ OpenSandbox chart 所有权边界。
- Deployment 为单副本,滚动策略固定 `maxSurge: 1`、`maxUnavailable: 0`,保证新
facade Ready 后才终止旧实例。scheduler 必须通过 Kubernetes Lease 保持单 leader,
不能依赖 Recreate 避免重复领取。
- scheduler 将 assignment 持久化后继续领取;`POD_CAPACITY=4` 与 `VM_CAPACITY=1`
分别限制两个 durable consumer,任一 backend 不占用另一方的执行槽位。
- scheduler 使用一个 runner registration,并按总容量启动并发 `FetchTask` goroutine;
`POD_CAPACITY=4` 与 `VM_CAPACITY=1` 分别限制两个 durable consumer 和 backend
admission pool。池满时 assignment 保持 JetStream pending,任一 backend 不占用
另一方的执行槽位,也不会创建超出容量的 workload。
- rollout 重叠期间只有持有 `Lease/dynamic-runner-scheduler` 的 controller 执行
`FetchTask`;所有 Ready 实例都可通过 backend metadata 恢复 claim 并服务 facade。
- executor 镜像使用 digest;Pod 以 UID 2000 运行,SPIRE `ClusterStaticEntry` 同时绑定