版本:下一个
HAMi 安装后的集群架构
完成 HAMi 安装后,集群不再是一个普通的 Kubernetes 集群,它变成了一个具备 GPU 虚拟化能力的 AI 基础设施平台。本文将拆解安装完成后集群中每一层、每一个组件的职责和依赖关系。
5 层架构总览
安装完成后的集群由 5 层组成,每一层为上层提供服务:
从下往上看:
| 层级 | 作用 | 类比 |
|---|---|---|
| Kubernetes 基础设施层 | 容器编排、网络通信、资源管理 | 操作系统 |
| NVIDIA GPU Runtime Stack | 让容器能访问 GPU 硬件 | GPU 驱动程序 |
| GPU 调度层 | GPU 资源切分、共享、调度决策 | 资源管理器 |
| 监控层 | 采集和存储所有组件的指标 | 监控系统 |
| 可视化层 | GPU 资源的可视化管理界面 | 仪表盘 |
这 5 层之间的关系是严格的依赖关系:上层依赖下层,下层不依赖上层。例如 HAMi Scheduler 需要 Kubernetes 提供调度框架扩展点,但 Kubernetes 本身并不关心 HAMi 的存在。
Helm Releases
安装过程中通过 Helm 部署了多个 Release。Helm Release 是什么?你可以把它理解为一个应用包的运行实例,类似于 apt install 安装了一个软件包,或者 docker compose up 启动了一组服务。每个 Release 包含一组 Kubernetes 资源(Pod、Service、ConfigMap 等),可以统一安装、升级和卸载。
执行 helm list -A 可以看到所有 Release:
NAMESPACE NAME CHART STATUS
gpu-operator gpu-operator-xxxxxxxxxx gpu-operator-v25.3.0 deployed
kube-system hami hami-2.9.0 deployed
monitoring prometheus kube-prometheus-stack-75.15.1 deployed
kube-system my-hami-webui hami-webui-x.x.x deployed
各 Release 的职责
| Release | 命名空间 | 职责 | 安装时机 |
|---|---|---|---|
| gpu-operator | gpu-operator | NVIDIA GPU 软件栈的自动化管理,自动部署驱动、工具包、指标采集器 | 安装 Prometheus 后 |
| hami | kube-system | GPU 虚拟化与调度增强,支持显存切分和多 Pod 共享 GPU | 安装 GPU Operator 后 |
| prometheus | monitoring |