Files
easyai-ai-gateway/deploy/kubernetes/local-acceptance/k3d.yaml
T
wangbo c28bf74230 feat(worker): 实现集群限流与自适应负载
保留平台模型 RPM、TPM 和并发策略语义,增加 PostgreSQL 集群级租约、饱和候选重选和多平台自动负载,避免突发任务固定等待首个平台。\n\n新增 Worker 实时负载采样、自适应 active/heavy 容量、心跳与管理端指标,并扩展本地 acceptance runner,覆盖三 Worker、同模型三平台 2/4/6 并发和 48 个带图视频突发任务。\n\n验证:go test ./...、go vet ./...、PostgreSQL 跨 Store 集成测试、gofmt、bash -n、ShellCheck 及本地集群 provider-burst 验收通过;48/48 成功,无越限、重复提交、重复计费、重复回调或终态资源泄漏。
2026-08-03 00:13:46 +08:00

88 lines
2.6 KiB
YAML

apiVersion: k3d.io/v1alpha5
kind: Simple
metadata:
name: easyai-acceptance-local
servers: 3
agents: 0
image: EASYAI_ACCEPTANCE_K3S_IMAGE
subnet: EASYAI_ACCEPTANCE_CLUSTER_SUBNET
kubeAPI:
host: 127.0.0.1
hostPort: "16550"
ports:
- port: 18443:31088
nodeFilters:
- server:0
- port: 19443:31089
nodeFilters:
- server:1
volumes:
- volume: EASYAI_ACCEPTANCE_MEDIA_DIR:/var/lib/easyai-acceptance/media
nodeFilters:
- server:*
- volume: easyai-acceptance-local-server-0-etcd:/var/lib/rancher/k3s/server/db
nodeFilters:
- server:0
- volume: easyai-acceptance-local-server-1-etcd:/var/lib/rancher/k3s/server/db
nodeFilters:
- server:1
- volume: easyai-acceptance-local-server-2-etcd:/var/lib/rancher/k3s/server/db
nodeFilters:
- server:2
- volume: easyai-acceptance-local-server-0-storage:/var/lib/rancher/k3s/storage
nodeFilters:
- server:0
- volume: easyai-acceptance-local-server-1-storage:/var/lib/rancher/k3s/storage
nodeFilters:
- server:1
options:
k3s:
extraArgs:
- arg: --disable=traefik
nodeFilters:
- server:*
- arg: --disable=servicelb
nodeFilters:
- server:*
- arg: --node-label=easyai.io/site=ningbo
nodeFilters:
- server:0
- arg: --node-label=easyai.io/site=hongkong
nodeFilters:
- server:1
- arg: --node-label=easyai.io/site=los-angeles
nodeFilters:
- server:2
- arg: --node-label=easyai.io/workload=true
nodeFilters:
- server:0
- server:1
- arg: --node-label=easyai.io/worker=true
nodeFilters:
- server:0
- server:1
- arg: --node-label=easyai.io/database=true
nodeFilters:
- server:0
- server:1
- arg: --node-taint=easyai.io/control-plane-only=true:NoSchedule
nodeFilters:
- server:2
- arg: --kubelet-arg=system-reserved=cpu=EASYAI_ACCEPTANCE_SITE_SYSTEM_CPU,memory=EASYAI_ACCEPTANCE_SITE_SYSTEM_MEMORY
nodeFilters:
- server:0
- server:1
- arg: --kubelet-arg=kube-reserved=cpu=250m,memory=512Mi
nodeFilters:
- server:0
- server:1
- arg: --kubelet-arg=system-reserved=cpu=EASYAI_ACCEPTANCE_WITNESS_SYSTEM_CPU,memory=EASYAI_ACCEPTANCE_WITNESS_SYSTEM_MEMORY
nodeFilters:
- server:2
- arg: --kubelet-arg=kube-reserved=cpu=250m,memory=512Mi
nodeFilters:
- server:2
- arg: --kubelet-arg=eviction-hard=memory.available<512Mi,nodefs.available<10%
nodeFilters:
- server:*