启用 OpenSandbox VM Runner canary
yaml / yaml (pull_request) Successful in 17s

This commit is contained in:
2026-09-21 06:10:59 +00:00
parent 15ef512cfc
commit 762ce6458d
3 changed files with 19 additions and 9 deletions
+6 -6
View File
@@ -1,8 +1,7 @@
# Gitea dynamic runner # Gitea dynamic runner
本目录部署单副本 Go controller,默认在同一进程运行 RunnerService scheduler、原生 本目录部署单副本 Go controller,在同一进程运行 RunnerService scheduler、原生
Kubernetes Pod worker 和 SPIFFE mTLS facade。首轮生产 canary 只启用 Kubernetes Pod worker、OpenSandbox VM worker 和 SPIFFE mTLS facade:
`scheduler,pod-worker`,OpenSandbox VM worker 保持关闭:
```text ```text
Gitea RunnerService -> scheduler -> JetStream ci.runner.pod Gitea RunnerService -> scheduler -> JetStream ci.runner.pod
@@ -86,9 +85,10 @@ kubectl -n dynamic-runner logs deploy/dynamic-runner-controller -f
4. 官方 runner v3.5.0 经 facade claim 精确 task,Gitea 实时收到日志和终态; 4. 官方 runner v3.5.0 经 facade claim 精确 task,Gitea 实时收到日志和终态;
5. terminal gate 释放后才领取下一条任务。 5. terminal gate 释放后才领取下一条任务。
当前代码尚未完成 ACK 后 backend lifecycle reconciler,因此 canary 成功后可能留下 Pod 与 VM 都在 Gitea 接受终态后先把 terminal marker 写入各自 backend metadata,再由
Completed Pod/ClusterStaticEntry。首次测试要人工核对并删除已终态资源;在完整自动清理 lifecycle reconciler 删除执行器。首次 VM 测试仍须观察 BatchSandbox、Pod 与
通过前不得提高并发或启用 VM worker。 ClusterStaticEntry 全部消失;完整自动清理通过前不得提高 `POD_CAPACITY`、`VM_CAPACITY`
或 scheduler single-flight 并发。
## 回滚 ## 回滚
+12 -2
View File
@@ -38,12 +38,12 @@ spec:
mountPath: /trust mountPath: /trust
containers: containers:
- name: controller - name: controller
image: zot.ad.ddupan.top/panxiao81/gitea-dynamic-runner-controller@sha256:91ef82f49e0117d8973a3c22fbfcc5eab8ac74dc6eb22d70d871ac2998fd0795 image: zot.ad.ddupan.top/panxiao81/gitea-dynamic-runner-controller@sha256:01324db5e030afa8d8c1289f3802ca9f1d24d8eb5d1f95c46d1f8ae5886442fe
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
args: [controller] args: [controller]
env: env:
- name: COMPONENTS - name: COMPONENTS
value: scheduler,pod-worker value: scheduler,pod-worker,vm-worker
- name: GITEA_INSTANCE_URL - name: GITEA_INSTANCE_URL
value: https://git.ddupan.top value: https://git.ddupan.top
- name: GITEA_RUNNER_UUID_FILE - name: GITEA_RUNNER_UUID_FILE
@@ -80,6 +80,16 @@ spec:
value: "2000" value: "2000"
- name: POD_CAPACITY - name: POD_CAPACITY
value: "1" value: "1"
- name: OPENSANDBOX_API
value: http://10.60.0.13:8080
- name: OPENSANDBOX_API_KEY_FILE
value: /run/dynamic-runner-secrets/opensandbox-api-key
- name: OPENSANDBOX_POOL
value: ci-vm
- name: VM_CAPACITY
value: "1"
- name: VM_TIMEOUT_SECONDS
value: "14400"
- name: SPIRE_CLUSTER - name: SPIRE_CLUSTER
value: homelab value: homelab
- name: SPIRE_CLASS - name: SPIRE_CLASS
+1 -1
View File
@@ -48,7 +48,7 @@ spec:
mountPath: /opt/opensandbox mountPath: /opt/opensandbox
containers: containers:
- name: sandbox - name: sandbox
image: zot.ad.ddupan.top/panxiao81/gitea-dynamic-runner-runner@sha256:a45875fd2d0e67429b0b7bc3914735581669c705bb4e1a05d712134d2bceb86f image: zot.ad.ddupan.top/panxiao81/gitea-dynamic-runner-runner@sha256:08f83c9993645dce376140fdde7e29e809795166b2bb32e50cebdbefaf3cf303
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
command: [/opt/opensandbox/task-executor] command: [/opt/opensandbox/task-executor]
args: args: