记录 sandbox ESO 当前状态
This commit is contained in:
@@ -96,7 +96,8 @@ Sandbox 集群使用独立的 `auth/kubernetes-sandbox`。其 API 地址、公
|
|||||||
ESO role 与只读 `kv/k8s/opensandbox-api` policy 全部由 Terraform 管理;CA 位于
|
ESO role 与只读 `kv/k8s/opensandbox-api` policy 全部由 Terraform 管理;CA 位于
|
||||||
`terraform/certs/sandbox-kubernetes-ca.crt`。集群重建并轮换 CA 后,先更新该文件并
|
`terraform/certs/sandbox-kubernetes-ca.crt`。集群重建并轮换 CA 后,先更新该文件并
|
||||||
apply,再让 Flux 恢复 ESO reconciliation。该 backend 不保存 reviewer JWT,而是使用
|
apply,再让 Flux 恢复 ESO reconciliation。该 backend 不保存 reviewer JWT,而是使用
|
||||||
ESO 的短期登录 JWT 执行 TokenReview。
|
ESO 的短期登录 JWT 执行 TokenReview。该组资源已于 2026-09-18 apply,随后复验 plan
|
||||||
|
为 zero-diff。
|
||||||
|
|
||||||
## DNS
|
## DNS
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ Flux 管理以下 Kubernetes 资源:
|
|||||||
- Kata Containers 和 CI 专用的 `block-plain` RuntimeClass;
|
- Kata Containers 和 CI 专用的 `block-plain` RuntimeClass;
|
||||||
- SPIRE Agent、SPIFFE CSI Driver 与 workload identity 声明;
|
- SPIRE Agent、SPIFFE CSI Driver 与 workload identity 声明;
|
||||||
- vmagent、kube-state-metrics、kubelet/cAdvisor scrape 配置和告警;
|
- vmagent、kube-state-metrics、kubelet/cAdvisor scrape 配置和告警;
|
||||||
- OpenSandbox controller/server;CI Pool 与 runner 调度器由 runner 项目接入。
|
- sandbox External Secrets Operator、OpenSandbox controller/server;CI Pool 与 runner
|
||||||
|
调度器由 runner 项目接入。
|
||||||
|
|
||||||
同一个对象只能有一个 owner。Ansible 不直接部署上述集群内 workload;Flux 不管理
|
同一个对象只能有一个 owner。Ansible 不直接部署上述集群内 workload;Flux 不管理
|
||||||
LXC、K3s datastore 或 K3s 本身。
|
LXC、K3s datastore 或 K3s 本身。
|
||||||
|
|||||||
@@ -4,6 +4,17 @@
|
|||||||
`ClusterSecretStore/openbao` 读取 OpenBao KV v2 中共享的 OpenSandbox API key。它不复用
|
`ClusterSecretStore/openbao` 读取 OpenBao KV v2 中共享的 OpenSandbox API key。它不复用
|
||||||
homelab 集群的 ESO Pod、ServiceAccount 或 Kubernetes auth backend。
|
homelab 集群的 ESO Pod、ServiceAccount 或 Kubernetes auth backend。
|
||||||
|
|
||||||
|
## 当前状态
|
||||||
|
|
||||||
|
- OpenBao `auth/kubernetes-sandbox`、backend config、`external-secrets` role 与
|
||||||
|
`sandbox-external-secrets` policy 已于 2026-09-18 由 Terraform 创建;apply 后 plan
|
||||||
|
为 zero-diff;
|
||||||
|
- `kv/k8s/opensandbox-api` 已由本机 `spiffe://ddupan.top/dev/panxiao81` 身份生成并写入,
|
||||||
|
值未输出或落盘;
|
||||||
|
- sandbox ESO operator、`ClusterSecretStore/openbao` 与 OpenSandbox `ExternalSecret`
|
||||||
|
由 Flux 管理;
|
||||||
|
- homelab runner 对同一 key 的投影不在本目录,留给 runner 项目管理。
|
||||||
|
|
||||||
OpenBao 的 `auth/kubernetes-sandbox`、对应 role、policy、sandbox API 地址与公开 CA
|
OpenBao 的 `auth/kubernetes-sandbox`、对应 role、policy、sandbox API 地址与公开 CA
|
||||||
完全由 `infrastructure/openbao/terraform/` 管理。CA 文件提交到 Git 是刻意设计:CA
|
完全由 `infrastructure/openbao/terraform/` 管理。CA 文件提交到 Git 是刻意设计:CA
|
||||||
是公开信任材料,版本化后集群重建造成的 trust root 变化会产生可审计的 Terraform diff。
|
是公开信任材料,版本化后集群重建造成的 trust root 变化会产生可审计的 Terraform diff。
|
||||||
@@ -12,7 +23,7 @@ ESO 使用 TokenRequest 生成短期 ServiceAccount JWT。OpenBao 未配置长
|
|||||||
`token_reviewer_jwt`,而是使用登录 JWT 调用 sandbox TokenReview;因此
|
`token_reviewer_jwt`,而是使用登录 JWT 调用 sandbox TokenReview;因此
|
||||||
`external-secrets` ServiceAccount 仅额外绑定内建 `system:auth-delegator`。
|
`external-secrets` ServiceAccount 仅额外绑定内建 `system:auth-delegator`。
|
||||||
|
|
||||||
## 部署顺序
|
## 重建顺序
|
||||||
|
|
||||||
1. 在 OpenBao 写入 OpenSandbox API key:
|
1. 在 OpenBao 写入 OpenSandbox API key:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user