feat(deploy): 切换宁波单节点生产拓扑
移除已停用的香港 API、Web、Worker 和边缘 Service 渲染结果,将 Worker 与容量控制器固定到宁波单实例,并在发布成功后清理旧香港资源。\n\n容量控制器忽略最大副本为零的站点,集群环境允许不再声明香港主机;单节点 production acceptance 不再依赖香港 Service、Deployment 或 SSH 回退。\n\n验证:Go 全量测试与 go vet;迁移安全检查;Kustomize 单节点渲染;ShellCheck;cluster release、production acceptance 和 manual release 测试。
This commit is contained in:
@@ -46,12 +46,9 @@ data:
|
||||
AI_GATEWAY_ASYNC_WORKER_GLOBAL_HARD_LIMIT: "48"
|
||||
AI_GATEWAY_ASYNC_WORKER_REFRESH_INTERVAL_SECONDS: "5"
|
||||
AI_GATEWAY_WORKER_AUTOSCALING_ENABLED: "false"
|
||||
AI_GATEWAY_WORKER_REPLICAS_NINGBO: "0"
|
||||
AI_GATEWAY_WORKER_REPLICAS_HONGKONG: "2"
|
||||
AI_GATEWAY_WORKER_MIN_REPLICAS_NINGBO: "0"
|
||||
AI_GATEWAY_WORKER_MIN_REPLICAS_HONGKONG: "1"
|
||||
AI_GATEWAY_WORKER_MAX_REPLICAS_NINGBO: "0"
|
||||
AI_GATEWAY_WORKER_MAX_REPLICAS_HONGKONG: "2"
|
||||
AI_GATEWAY_WORKER_REPLICAS_NINGBO: "1"
|
||||
AI_GATEWAY_WORKER_MIN_REPLICAS_NINGBO: "1"
|
||||
AI_GATEWAY_WORKER_MAX_REPLICAS_NINGBO: "1"
|
||||
AI_GATEWAY_WORKER_TARGET_OUTSTANDING_PER_REPLICA: "48"
|
||||
AI_GATEWAY_WORKER_SCALE_UP_WINDOW_SECONDS: "20"
|
||||
AI_GATEWAY_WORKER_SCALE_DOWN_STABILIZATION_SECONDS: "600"
|
||||
|
||||
@@ -158,7 +158,7 @@ metadata:
|
||||
app.kubernetes.io/component: capacity-controller
|
||||
app.kubernetes.io/part-of: easyai-ai-gateway
|
||||
spec:
|
||||
replicas: 2
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
@@ -176,22 +176,9 @@ 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/site: ningbo
|
||||
easyai.io/workload: "true"
|
||||
topologySpreadConstraints:
|
||||
- maxSkew: 1
|
||||
topologyKey: easyai.io/site
|
||||
whenUnsatisfiable: DoNotSchedule
|
||||
labelSelector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: easyai-capacity-controller
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 10001
|
||||
@@ -225,7 +212,7 @@ spec:
|
||||
- name: AI_GATEWAY_WORKER_DATABASE_MAX_CONNS
|
||||
value: "32"
|
||||
- name: AI_GATEWAY_POSTGRES_NON_WORKER_CONNECTION_BUDGET
|
||||
value: "72"
|
||||
value: "36"
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
@@ -438,7 +425,7 @@ metadata:
|
||||
app.kubernetes.io/component: worker
|
||||
app.kubernetes.io/part-of: easyai-ai-gateway
|
||||
spec:
|
||||
replicas: 0
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
|
||||
@@ -8,6 +8,52 @@ resources:
|
||||
- application.yaml
|
||||
- database.yaml
|
||||
- network-policy.yaml
|
||||
patches:
|
||||
- target:
|
||||
kind: Deployment
|
||||
name: easyai-api-hongkong
|
||||
patch: |-
|
||||
$patch: delete
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: easyai-api-hongkong
|
||||
- target:
|
||||
kind: Deployment
|
||||
name: easyai-worker-hongkong
|
||||
patch: |-
|
||||
$patch: delete
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: easyai-worker-hongkong
|
||||
- target:
|
||||
kind: Deployment
|
||||
name: easyai-web-hongkong
|
||||
patch: |-
|
||||
$patch: delete
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: easyai-web-hongkong
|
||||
- target:
|
||||
kind: Service
|
||||
name: api-hongkong-edge
|
||||
patch: |-
|
||||
$patch: delete
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: api-hongkong-edge
|
||||
- target:
|
||||
kind: Service
|
||||
name: web-hongkong-edge
|
||||
patch: |-
|
||||
$patch: delete
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: web-hongkong-edge
|
||||
images:
|
||||
# Deployment tooling must replace both sentinel digests with release-manifest
|
||||
# digests before server-side apply.
|
||||
|
||||
@@ -48,11 +48,11 @@ metadata:
|
||||
rules:
|
||||
- apiGroups: ["apps"]
|
||||
resources: ["deployments"]
|
||||
resourceNames: ["easyai-worker-ningbo", "easyai-worker-hongkong"]
|
||||
resourceNames: ["easyai-worker-ningbo"]
|
||||
verbs: ["get"]
|
||||
- apiGroups: ["apps"]
|
||||
resources: ["deployments/scale"]
|
||||
resourceNames: ["easyai-worker-ningbo", "easyai-worker-hongkong"]
|
||||
resourceNames: ["easyai-worker-ningbo"]
|
||||
verbs: ["get", "update", "patch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
|
||||
Reference in New Issue
Block a user