KitOps on TKE
KitOps on TKE
Section titled “KitOps on TKE”KitOps 是一个开源工具,用于将 AI/ML 模型的所有相关资源(模型权重、数据集、代码、配置、文档)打包成标准化的 OCI Artifact,存储在容器镜像仓库中。本指南介绍如何在腾讯云 TKE 上使用 KitOps 实现模型的版本化管理和跨环境复现。
🎯 学习目标
Section titled “🎯 学习目标”通过本模块,你将学会:
- 理解 KitOps 和 ModelKit 的核心概念
- 使用 Kitfile 定义 AI/ML 项目结构
- 将 ModelKit 推送到腾讯云容器镜像服务 (TCR)
- 在 TKE 集群中一键解包和部署模型
- 实现开发环境到生产环境的无缝迁移
🏗️ 工作流程架构
Section titled “🏗️ 工作流程架构”KitOps on TKE 的典型工作流程:
graph LR subgraph 开发环境 Dev[开发者] --> Pack[kit pack] Pack --> ModelKit[ModelKit OCI Artifact] ModelKit --> Push[kit push] end
subgraph TCR 容器镜像仓库 Push --> Registry[(TCR 企业版)] end
subgraph TKE 生产集群 Registry --> Pull[kit pull] Pull --> Unpack[kit unpack] Unpack --> Deploy[部署模型服务] end
style Registry fill:#4A90E2 style ModelKit fill:#7CB342 style Deploy fill:#D84315| 概念 | 说明 |
|---|---|
| ModelKit | OCI 兼容的 AI/ML 项目打包格式,包含模型、数据、代码等所有资源 |
| Kitfile | YAML 配置文件,定义 ModelKit 的内容和元数据 |
| TCR | 腾讯云容器镜像服务,用于存储和分发 ModelKit |
| OCI Artifact | 开放容器标准工件,可存储在任何 OCI 兼容的镜像仓库 |
📖 章节列表
Section titled “📖 章节列表”| 章节 | 内容 | 难度 | 时间 |
|---|---|---|---|
| 快速开始 | 10 分钟体验 KitOps 工作流 | ⭐ | 10 分钟 |
| Kitfile 编写 | 编写标准的 Kitfile 配置 | ⭐⭐ | 15 分钟 |
| TCR 集成 | 配置 TCR 企业版存储 ModelKit | ⭐⭐ | 15 分钟 |
| TKE 部署 | 在 TKE 中解包和部署模型 | ⭐⭐⭐ | 20 分钟 |
| CI/CD 集成 | 自动化打包和部署流程 | ⭐⭐⭐ | 25 分钟 |
| 最佳实践 | 企业级使用最佳实践 | ⭐⭐⭐⭐ | 20 分钟 |
🚀 快速开始
Section titled “🚀 快速开始”- 腾讯云账号及 TCR 企业版实例
- TKE 集群(Kubernetes 1.20+)
- 本地安装 Kit CLI
- kubectl 已配置并可访问集群
安装 Kit CLI
Section titled “安装 Kit CLI”=== “macOS (Homebrew)”
bash brew install kitops-ml/kitops/kit
=== “Linux”
bash curl -fsSL https://get.kitops.org | sh
=== “Windows”
powershell # 使用 Scoop scoop bucket add kitops https://github.com/kitops-ml/scoop-kitops.git scoop install kit
kit version# 输出: kit version 1.x.x1. 创建示例项目
Section titled “1. 创建示例项目”mkdir my-ml-project && cd my-ml-project
# 创建目录结构mkdir -p models data notebooks
# 模拟模型文件echo "model weights placeholder" > models/model.bin
# 模拟数据集echo "id,feature1,feature2,label" > data/train.csvecho "1,0.5,0.3,1" >> data/train.csv
# 模拟代码echo "# Training notebook" > notebooks/train.ipynb2. 编写 Kitfile
Section titled “2. 编写 Kitfile”# KitfilemanifestVersion: v1.0.0
package: name: my-sentiment-model version: 1.0.0 description: 情感分析模型 - 基于 BERT 微调 authors: - TKE Workshop Team license: Apache-2.0
model: name: sentiment-classifier path: ./models/model.bin framework: PyTorch description: BERT-based sentiment classifier version: 1.0.0
datasets: - name: training-data path: ./data/train.csv description: 训练数据集
code: - path: ./notebooks description: 训练和推理代码3. 打包为 ModelKit
Section titled “3. 打包为 ModelKit”# 打包并标记kit pack . -t ccr.ccs.tencentyun.com/your-namespace/sentiment-model:v1.0.0
# 查看本地 ModelKitkit list4. 推送到 TCR
Section titled “4. 推送到 TCR”# 登录 TCRkit login ccr.ccs.tencentyun.com -u <用户名> -p <密码>
# 推送 ModelKitkit push ccr.ccs.tencentyun.com/your-namespace/sentiment-model:v1.0.05. 在 TKE 中拉取和解包
Section titled “5. 在 TKE 中拉取和解包”# 在 TKE 节点或 Pod 中执行kit pull ccr.ccs.tencentyun.com/your-namespace/sentiment-model:v1.0.0
# 解包到指定目录kit unpack ccr.ccs.tencentyun.com/your-namespace/sentiment-model:v1.0.0 \ -d /workspace/model
# 验证内容ls -la /workspace/model# models/ data/ notebooks/ Kitfile💡 使用场景
Section titled “💡 使用场景”1. 模型开发到生产的无缝迁移
Section titled “1. 模型开发到生产的无缝迁移”数据科学家在开发环境完成模型训练后,通过 KitOps 打包:
- 模型权重和配置
- 验证数据集
- 推理代码和依赖
DevOps 团队在生产 TKE 集群中一键解包部署,无需”它在我机器上能跑”的问题。
2. 模型版本管理
Section titled “2. 模型版本管理”利用 OCI 镜像仓库的版本管理能力:
- 每个版本都有唯一的 digest
- 支持标签管理(latest, v1.0.0, prod 等)
- 支持回滚到任意历史版本
3. 多环境一致性
Section titled “3. 多环境一致性”确保开发、测试、生产环境的一致性:
- 相同的 ModelKit 在任何环境解包后完全一致
- 避免环境差异导致的推理结果不一致
- 支持审计和可追溯性
4. CI/CD 自动化
Section titled “4. CI/CD 自动化”与 GitHub Actions、GitLab CI 等集成:
- 代码提交自动触发模型打包
- 自动推送到 TCR
- 自动部署到 TKE 测试/生产集群
📊 TCR + TKE 优势
Section titled “📊 TCR + TKE 优势”| 特性 | 说明 |
|---|---|
| 安全性 | TCR 企业版支持 VPC 内网访问,数据不出云 |
| 高可用 | 多可用区部署,99.95% SLA |
| 加速拉取 | TKE 与 TCR 同地域内网互通,拉取速度快 |
| 权限控制 | 与腾讯云 CAM 集成,细粒度权限管理 |
| 镜像扫描 | 支持漏洞扫描和安全签名 |
| 全球同步 | 支持跨地域同步,满足多地部署需求 |
!!! tip “成本优化” 使用 TCR 企业版基础版即可满足大部分 ModelKit 存储需求。对于大型模型(>10GB),建议开启压缩选项。
🔗 相关资源
Section titled “🔗 相关资源”TKE Workshop 相关
Section titled “TKE Workshop 相关”📝 更新日志
Section titled “📝 更新日志”- 2026-03-06: 初始版本发布
- KitOps + TCR + TKE 集成指南
- 端到端示例
- 最佳实践
准备好开始了吗?
:octicons-arrow-right-24: 快速开始指南
或者深入了解 Kitfile 编写: