refactor: separate workload class from placement driver
This commit is contained in:
@@ -2,19 +2,22 @@
|
||||
|
||||
## 对 workflow 的接口
|
||||
|
||||
Runner 只向 workflow 暴露两个执行环境:
|
||||
Runner 将执行环境的能力类型与实现 driver 分开声明:
|
||||
|
||||
```yaml
|
||||
runs-on: [self-hosted, pod]
|
||||
runs-on: [self-hosted, container, kubernetes]
|
||||
```
|
||||
|
||||
```yaml
|
||||
runs-on: [self-hosted, vm]
|
||||
runs-on: [self-hosted, vm, opensandbox]
|
||||
```
|
||||
|
||||
- `self-hosted` 是固定前缀。
|
||||
- `pod` 表示一次性 Kubernetes Pod,承担常规 CI、镜像构建和 kind 等任务。
|
||||
- `vm` 表示一次性 microVM,承担需要独立内核、KVM、systemd 或更强隔离的任务。
|
||||
- `container`、`vm` 是 workload class;`kubernetes`、`opensandbox` 是 placement driver。
|
||||
- 当前支持 `container+kubernetes` 和 `vm+opensandbox`。旧 `pod` 与 `vm` 标签分别是
|
||||
两个组合的严格兼容别名,显式指定 driver 后不得因容量或故障回退到另一 driver。
|
||||
- container 承担常规 CI、镜像构建和 kind 等任务;VM 承担需要独立内核、KVM、
|
||||
systemd 或更强隔离的任务。
|
||||
|
||||
执行后端是基础设施选择,不是权限角色。workflow 不需要额外声明由 controller
|
||||
维护的 role 或权限 label。
|
||||
|
||||
Reference in New Issue
Block a user