该技能面向在 Kubernetes 集群上部署和服务机器学习模型的场景,核心工具为 KServe 与 NVIDIA Triton Inference Server,资料以 YAML 清单、命令行和配置片段的形式给出参考做法。
用途与适用场景:适合在大规模场景下服务 scikit-learn、PyTorch、TensorFlow 或 ONNX 模型;为模型实现金丝雀发布与 A/B 测试;依据请求速率或 GPU 指标自动扩缩推理 Pod;在 Kubernetes 上通过 Triton 或 KServe 部署大语言模型;以流量拆分方式管理多个模型版本。
主要能力:资料展示了 KServe 的 Helm 安装命令与验证方式;基础 InferenceService(如 sklearn-iris)的 storageUri、资源请求与限制配置,以及获取服务 URL 和用 curl 发送预测请求的示例;基于 vLLM 镜像的 GPU 大模型 InferenceService 配置,包括 tensor-parallel-size、GPU 内存利用率、健康检查、HF Token 环境变量和 GPU 节点选择器;通过 canaryTrafficPercent 进行金丝雀流量拆分,并用 kubectl patch 逐步提升或移除金丝雀流量;使用 KEDA ScaledObject 基于 Prometheus 指标设置最小/最大副本数与触发阈值;Triton 的 Deployment 配置(模型仓库、poll 模式、轮询间隔、指标端口、GPU 资源与就绪探针);Triton 模型仓库目录结构与 config.pbtxt 示例(onnxruntime 后端、动态批处理、输入输出定义、GPU 实例组);Triton 模型索引查询以及模型加载/卸载命令;KServe 发布状态查看命令;常见问题与修复对照表;以及金丝雀发布、动态批处理、版本化模型路径、GPU 节点选择器固定、p99 延迟与错误率监控等最佳实践建议。
使用方式:资料强调这些是随版本变化的示意片段,并非完整的集群安装方案。使用前需固定 chart 与镜像版本,确认已安装的 CRD 架构以及服务模式(Knative 或标准模式),因为金丝雀字段和 KEDA 目标依赖该模式;应针对所选 operator 实际支持的、可扩缩的工作负载进行配置,而不是假设 InferenceService 存在 scale 子资源。还需配置入口认证与 TLS、模型存储的最小权限访问以及资源与成本边界;占位 transformer 需移除或实现,示例中的模型和“-v2”版本标识必须真实存在且具备许可。前提条件包括 Kubernetes 1.28+ 且含 GPU 节点、已安装 KServe(或独立 Triton)、已配置 kubectl 与 helm、集群已安装 NVIDIA GPU Operator。
限制:资料说明该指南面向真实环境执行,应用任何配置前需确认目标、影响范围和回滚方案;未经明确批准不得部署到生产环境。该技能为纯文档导入,上游脚本与模板未随附打包。