fix(cluster): 强制关键副本跨节点分散

避免同站点 Worker 与容量控制器在滚动发布时集中到同一节点,并让 Kubernetes 运行态清单变更进入可追溯的 API release。\n\n验证:bash -n、ShellCheck、manual-release-test、生产集群 server-side dry-run。
This commit is contained in:
2026-08-01 12:33:19 +08:00
parent fcc3dc3cb9
commit 773d310214
3 changed files with 34 additions and 1 deletions
@@ -174,6 +174,13 @@ spec:
spec:
serviceAccountName: easyai-capacity-controller
terminationGracePeriodSeconds: 30
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- topologyKey: easyai.io/site
labelSelector:
matchLabels:
app.kubernetes.io/name: easyai-capacity-controller
nodeSelector:
easyai.io/workload: "true"
topologySpreadConstraints:
@@ -447,6 +454,14 @@ spec:
spec:
serviceAccountName: easyai-ai-gateway
terminationGracePeriodSeconds: 90
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
app.kubernetes.io/name: easyai-worker
easyai.io/site: ningbo
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
@@ -612,6 +627,14 @@ spec:
spec:
serviceAccountName: easyai-ai-gateway
terminationGracePeriodSeconds: 90
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
app.kubernetes.io/name: easyai-worker
easyai.io/site: hongkong
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname