test(gitops): 最终删除 prune canary
lint / yaml (push) Successful in 9s
lint / ansible (push) Successful in 3m4s
lint / terraform (push) Successful in 31s
lint / yaml (pull_request) Successful in 9s
lint / ansible (pull_request) Successful in 2m56s
lint / terraform (pull_request) Successful in 35s

This commit is contained in:
2026-09-09 20:20:00 +00:00
parent f1bcb9017a
commit b7775fce94
4 changed files with 4 additions and 11 deletions
+3 -4
View File
@@ -7,7 +7,6 @@ Flux 将它部署到独立的 `gitops-canary` namespace。
| --- | --- |
| `deployment.yaml` | 两个 `hashicorp/http-echo` 副本。 |
| `service.yaml` | 只在集群内可达的 ClusterIP Service。 |
| `prune-canary-configmap.yaml` | 无业务依赖的临时资源,用于验证 Flux 受控删除。 |
| `kustomization.yaml` | Flux 实际构建入口;明确排除历史 HTTPRoute。 |
| `httproute.yaml` | 保留的历史 Contour 示例,**不在 Kustomization 中,不会部署**。 |
@@ -23,6 +22,6 @@ sudo k3s kubectl -n gitops-canary get deployment,service,pod
Deployment 漂移修复已经验证:手动把 replicas 改成 1 后,Flux 能按 Git 恢复为
2。删除验证使用无业务依赖的 `flux-prune-canary` ConfigMap。首次尝试在同一个
revision 中同时开启 prune 并删除对象,Flux 更新了 inventory 但保留了 live 对象。
因此先在已经生效的 `prune: true` 下重新纳管 ConfigMap;下一 revision 只删除对象,
验证垃圾回收。root Kustomization 始终保持 `prune: false`,brownfield 资源不会
进入此次删除范围。
因此先在已经生效的 `prune: true` 下重新纳管 ConfigMap,再用下一 revision 只删除
对象。最终删除阶段不再修改 prune,确保可以准确验证垃圾回收。root Kustomization
始终保持 `prune: false`,brownfield 资源不会进入此次删除范围。
-1
View File
@@ -2,5 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- prune-canary-configmap.yaml
- service.yaml
@@ -1,6 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: flux-prune-canary
data:
purpose: verify-controlled-flux-pruning