fix(acceptance): 阻断本地控制面漂移污染验收

本地 K3s 节点此前在 Kubelet 中登记为宿主机资源,负载可挤压 etcd 并在 server 重启后继续污染同一 Run。现在为三节点设置真实可调度预算、独立 etcd/数据卷和锁定依赖镜像,并持续核对 server 与 API/etcd 健康。\n\n每次验收生成独立 Run ID,报告使用独占或原子写入,负载错误记录具体阶段;数据库鉴权不可用返回带 Retry-After 的 503,避免基础设施故障被误报为 401。\n\n验证:Go 全量测试、go vet、gofmt、OpenAPI、bash -n、ShellCheck、报告测试和 k3d 配置解析均通过。
This commit is contained in:
2026-07-31 23:07:19 +08:00
parent 015ff8ea6c
commit a95184b5b6
20 changed files with 970 additions and 85 deletions
+34 -1
View File
@@ -4,7 +4,8 @@ metadata:
name: easyai-acceptance-local
servers: 3
agents: 0
image: rancher/k3s:v1.36.2-k3s1
image: EASYAI_ACCEPTANCE_K3S_IMAGE
subnet: EASYAI_ACCEPTANCE_CLUSTER_SUBNET
kubeAPI:
host: 127.0.0.1
hostPort: "16550"
@@ -19,6 +20,21 @@ volumes:
- volume: EASYAI_ACCEPTANCE_MEDIA_DIR:/var/lib/easyai-acceptance/media
nodeFilters:
- server:*
- volume: easyai-acceptance-local-server-0-etcd:/var/lib/rancher/k3s/server/db
nodeFilters:
- server:0
- volume: easyai-acceptance-local-server-1-etcd:/var/lib/rancher/k3s/server/db
nodeFilters:
- server:1
- volume: easyai-acceptance-local-server-2-etcd:/var/lib/rancher/k3s/server/db
nodeFilters:
- server:2
- volume: easyai-acceptance-local-server-0-storage:/var/lib/rancher/k3s/storage
nodeFilters:
- server:0
- volume: easyai-acceptance-local-server-1-storage:/var/lib/rancher/k3s/storage
nodeFilters:
- server:1
options:
k3s:
extraArgs:
@@ -48,3 +64,20 @@ options:
- arg: --node-taint=easyai.io/control-plane-only=true:NoSchedule
nodeFilters:
- server:2
- arg: --kubelet-arg=system-reserved=cpu=EASYAI_ACCEPTANCE_SITE_SYSTEM_CPU,memory=EASYAI_ACCEPTANCE_SITE_SYSTEM_MEMORY
nodeFilters:
- server:0
- server:1
- arg: --kubelet-arg=kube-reserved=cpu=250m,memory=512Mi
nodeFilters:
- server:0
- server:1
- arg: --kubelet-arg=system-reserved=cpu=EASYAI_ACCEPTANCE_WITNESS_SYSTEM_CPU,memory=EASYAI_ACCEPTANCE_WITNESS_SYSTEM_MEMORY
nodeFilters:
- server:2
- arg: --kubelet-arg=kube-reserved=cpu=250m,memory=512Mi
nodeFilters:
- server:2
- arg: --kubelet-arg=eviction-hard=memory.available<512Mi,nodefs.available<10%
nodeFilters:
- server:*