fix(deploy): 强化跨节点真实任务验收门禁

修正宁波旧 Worker 在滚动退场期间仍可能领取任务的竞态,提交任务前要求仅保留唯一且明确禁用 Worker 的新 Pod。\n\n为临时验收 Key 分配 gpt-image-2 所需的最小平台访问资源,并让 multipart 参数对齐线上 2K 图像编辑请求。已通过 bash -n、ShellCheck、node --check,并完成真实跨节点任务验收。
This commit is contained in:
2026-07-29 03:24:02 +08:00
parent a642f43cf2
commit ea33be5d69
2 changed files with 75 additions and 1 deletions
@@ -31,6 +31,25 @@ k3s kubectl rollout status deployment/easyai-api-hongkong -n easyai --timeout=30
k3s kubectl set env deployment/easyai-api-ningbo -n easyai \
AI_GATEWAY_ASYNC_QUEUE_WORKER_ENABLED=false >/dev/null
k3s kubectl rollout status deployment/easyai-api-ningbo -n easyai --timeout=300s
for _ in $(seq 1 60); do
pods=$(k3s kubectl get pods -n easyai \
-l app.kubernetes.io/name=easyai-api,easyai.io/site=ningbo \
-o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}')
pod_count=$(wc -w <<<"$pods" | tr -d ' ')
if [[ $pod_count == 1 ]]; then
pod=$pods
worker_enabled=$(k3s kubectl get pod "$pod" -n easyai \
-o jsonpath='{.spec.containers[0].env[?(@.name=="AI_GATEWAY_ASYNC_QUEUE_WORKER_ENABLED")].value}')
pod_ready=$(k3s kubectl get pod "$pod" -n easyai \
-o jsonpath='{.status.containerStatuses[0].ready}')
if [[ $worker_enabled == false && $pod_ready == true ]]; then
break
fi
fi
sleep 1
done
[[ ${pod_count:-0} == 1 && ${worker_enabled:-} == false && ${pod_ready:-} == true ]]
k3s kubectl logs "$pod" -n easyai | grep -q 'asynchronous queue worker disabled for this process'
curl -fsS http://10.77.0.1:31088/api/v1/readyz | grep -q '"ok":true'
curl -fsS http://10.77.0.2:31089/api/v1/readyz | grep -q '"ok":true'
REMOTE