生产容量控制器原 Role 仅允许访问宁波 Worker,香港 Worker 启用后导致 reconciliation 返回 403。补齐香港 Deployment 及 scale 子资源权限。 同时将失败发布的 Deployment 恢复从合并式 apply 改为基于资源版本的精确 replace,并优先删除发布前不存在的站点,避免新增环境变量残留导致回滚卡死。 验证:bash -n、ShellCheck、cluster release helper、manual release 与差异检查均通过。
97 lines
2.3 KiB
YAML
97 lines
2.3 KiB
YAML
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: easyai-ai-gateway
|
|
labels:
|
|
app.kubernetes.io/part-of: easyai-ai-gateway
|
|
automountServiceAccountToken: true
|
|
imagePullSecrets:
|
|
- name: easyai-registry
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: easyai-gateway-security-events
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
resourceNames: ["easyai-gateway-security-events"]
|
|
verbs: ["get", "update", "patch"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: easyai-gateway-security-events
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: easyai-ai-gateway
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: easyai-gateway-security-events
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: easyai-capacity-controller
|
|
labels:
|
|
app.kubernetes.io/name: easyai-capacity-controller
|
|
app.kubernetes.io/part-of: easyai-ai-gateway
|
|
automountServiceAccountToken: true
|
|
imagePullSecrets:
|
|
- name: easyai-registry
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
name: easyai-capacity-controller
|
|
rules:
|
|
- apiGroups: ["apps"]
|
|
resources: ["deployments"]
|
|
resourceNames: ["easyai-worker-ningbo", "easyai-worker-hongkong"]
|
|
verbs: ["get"]
|
|
- apiGroups: ["apps"]
|
|
resources: ["deployments/scale"]
|
|
resourceNames: ["easyai-worker-ningbo", "easyai-worker-hongkong"]
|
|
verbs: ["get", "update", "patch"]
|
|
- apiGroups: [""]
|
|
resources: ["pods"]
|
|
verbs: ["get", "list", "patch"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: easyai-capacity-controller
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: easyai-capacity-controller
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: easyai-capacity-controller
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: easyai-capacity-controller
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["nodes"]
|
|
verbs: ["get", "list"]
|
|
- apiGroups: ["metrics.k8s.io"]
|
|
resources: ["nodes", "pods"]
|
|
verbs: ["get", "list"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: easyai-capacity-controller
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: easyai-capacity-controller
|
|
namespace: easyai
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: easyai-capacity-controller
|