feat(release): 固定启用香港异步 Worker
将生产 Worker 拓扑固定为宁波 1 个、香港 1 个,并让发布、容量配置和回滚流程持续保留香港 Worker。当前仍只使用宁波 PostgreSQL,关闭横向自动扩缩容,避免依赖数据库同步副本。 验证:API 全量 go test、迁移安全检查、cluster release helper、manual release、bash -n、ShellCheck、Kustomize 渲染均通过。
This commit is contained in:
@@ -41,6 +41,7 @@ kubectl=("$tmp/kubectl")
|
||||
NAMESPACE=easyai
|
||||
ACTIVE_RELEASE_SHA=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
AI_GATEWAY_WORKER_REPLICAS_NINGBO=1
|
||||
AI_GATEWAY_WORKER_REPLICAS_HONGKONG=1
|
||||
AI_GATEWAY_ASYNC_WORKER_INSTANCE_HARD_LIMIT=24
|
||||
AI_GATEWAY_ASYNC_WORKER_HARD_LIMIT=48
|
||||
AI_GATEWAY_ASYNC_WORKER_GLOBAL_HARD_LIMIT=48
|
||||
@@ -55,6 +56,8 @@ AI_GATEWAY_MEDIA_REQUEST_CONCURRENCY=24
|
||||
AI_GATEWAY_WORKER_AUTOSCALING_ENABLED=false
|
||||
AI_GATEWAY_WORKER_MIN_REPLICAS_NINGBO=1
|
||||
AI_GATEWAY_WORKER_MAX_REPLICAS_NINGBO=1
|
||||
AI_GATEWAY_WORKER_MIN_REPLICAS_HONGKONG=1
|
||||
AI_GATEWAY_WORKER_MAX_REPLICAS_HONGKONG=1
|
||||
AI_GATEWAY_WORKER_TARGET_OUTSTANDING_PER_REPLICA=48
|
||||
AI_GATEWAY_WORKER_CPU_REQUEST_MILLICORES=500
|
||||
AI_GATEWAY_WORKER_MEMORY_REQUEST_MIB=512
|
||||
@@ -67,6 +70,10 @@ if rollout_worker_site ningbo 'registry.example.invalid/api@sha256:deadbeef' &&
|
||||
echo 'failed Worker rollout was reported as successful' >&2
|
||||
exit 1
|
||||
fi
|
||||
if rollout_worker_site hongkong 'registry.example.invalid/api@sha256:deadbeef' && true; then
|
||||
echo 'failed Hong Kong Worker rollout was reported as successful' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
deployment_strategy() {
|
||||
local deployment=$1
|
||||
@@ -86,12 +93,18 @@ grep -Fq ' maxSurge: 1' <<<"$strategy"
|
||||
grep -Fq ' maxUnavailable: 0' <<<"$strategy"
|
||||
|
||||
grep -Fq 'name: easyai-api-hongkong' "$root/deploy/kubernetes/production/kustomization.yaml"
|
||||
grep -Fq 'name: easyai-worker-hongkong' "$root/deploy/kubernetes/production/kustomization.yaml"
|
||||
grep -Fq 'name: easyai-web-hongkong' "$root/deploy/kubernetes/production/kustomization.yaml"
|
||||
if grep -Fq 'AI_GATEWAY_WORKER_REPLICAS_HONGKONG=' \
|
||||
"$root/deploy/kubernetes/easyai-ai-gateway-cluster-release.conf.example"; then
|
||||
echo 'Hong Kong Worker capacity remains in the single-node release environment' >&2
|
||||
if grep -Fq 'name: easyai-worker-hongkong' \
|
||||
"$root/deploy/kubernetes/production/kustomization.yaml"; then
|
||||
echo 'Hong Kong Worker is still deleted from the production desired state' >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -Fq 'AI_GATEWAY_WORKER_REPLICAS_HONGKONG=1' \
|
||||
"$root/deploy/kubernetes/easyai-ai-gateway-cluster-release.conf.example"
|
||||
grep -Fq "hongkong) replicas=\$AI_GATEWAY_WORKER_REPLICAS_HONGKONG" "$helper"
|
||||
|
||||
hongkong_strategy=$(deployment_strategy easyai-worker-hongkong)
|
||||
grep -Fq ' replicas: 1' <<<"$hongkong_strategy"
|
||||
grep -Fq 'easyai.io/worker-only' <<<"$hongkong_strategy"
|
||||
|
||||
echo 'cluster_release_helper_tests=PASS'
|
||||
|
||||
Reference in New Issue
Block a user