iAOP Helm Chart(一键部署底座)
对应 PRD 5.6「⑥ 部署底座」与 EPIC #8: K8s/Helm/ArgoCD 部署底座;GPU/NPU 推理后端可插拔(5090 / 华为昇腾)。 验收:一套 Chart 部署内核 + 模板;切换后端仅改 values,不动业务代码。
目录结构
deploy/k8s/helm/iaop/
├── Chart.yaml Chart 元信息(name/version/appVersion)
├── values.yaml 全部配置点(镜像/后端/副本/资源/存储/灰度/域名)
├── templates/
│ ├── _helpers.tpl 标签/名称辅助模板
│ ├── backend-configmap.yaml 推理后端适配层配置(按 backend 分支渲染)
│ ├── deployment.yaml 推理服务 Deployment(nodeSelector 按后端分流)
│ ├── service.yaml ClusterIP 服务(:8000/v1)
│ ├── ingress.yaml 可选域名入口
│ ├── pvc.yaml 模型权重/日志持久化
│ └── NOTES.txt 部署后提示
└── README.md
一键部署
helm repo add iaop http://git.xayunmei.com/iaop/charts # 或本地路径
helm install iaop deploy/k8s/helm/iaop -n iaop --create-namespace
切换推理后端(仅改 values,业务代码零改动)
# 默认 gpu(NVIDIA 5090,vLLM/Triton):
helm install iaop deploy/k8s/helm/iaop -n iaop \
--set inference.backend=gpu \
--set inference.device=nvidia-5090
# 切换为华为昇腾 NPU(ACL/CANN/MindIE):
helm upgrade iaop deploy/k8s/helm/iaop -n iaop \
--set inference.backend=npu \
--set inference.device=ascend-910b \
--set inference.cannVersion=8.0
切换行为(由模板自动处理):
backend-configmap.yaml:渲染对应后端适配层配置(npu 追加cann_version);deployment.yaml:nodeSelector 自动切到ascend.com/npu=true(GPU 为nvidia.com/gpu=true), 并在 Pod 标签标注iaop.ai/inference-backend;- 后端实现差异全部收敛在
core/inference-backend/适配层,业务代码零改动。
其他配置点(PRD 5.6)
| 配置点 | values 路径 | 说明 |
|---|---|---|
| 资源配额 | resources.requests/limits |
CPU/内存配额 |
| 推理后端选择 | inference.backend |
gpu / npu |
| 灰度发布策略 | rollingUpdate |
maxUnavailable: 0, maxSurge: 1(滚动) |
| 存储 | storage.* |
模型权重持久卷 |
| 域名入口 | ingress.* |
可选 Ingress |
说明
- Chart 未引入任何外部依赖(dependencies 为空),
helm template可离线渲染; - 推理服务镜像对应
core/inference-backend/适配层容器化(本文档发布配套镜像时更新image.tag)。