一个命令行工具,通过 SSH 在远程或本地虚拟机上安装 K3s,并获取 kubeconfig 以便使用 kubectl。
Project-HAMi/HAMi
面向 Kubernetes 的中间件,可按显存和算力在多个 Pod 间共享 GPU 等 AI 加速卡,并支持设备感知调度。
- Star
- 4,896
- Fork
- 872
- 未关闭 Issue
- 33
- 最近提交
- 7小时前
这是什么?
HAMi(Heterogeneous AI Computing Virtualization Middleware,原名 k8s-vGPU-scheduler)让平台团队在 Kubernetes 上共享昂贵的 GPU 及其他 AI 加速卡。Pod 只需像常规资源请求一样声明显存或核心数量,即可获得设备的一部分,应用代码无需修改。
项目由 Mutating Webhook、调度器扩展、设备插件和容器内虚拟化组件构成。调度支持 binpack、spread、拓扑感知、独占和 NUMA 等策略,NVIDIA MIG 实例可动态创建与回收。支持的设备包括 NVIDIA、AMD、华为昇腾、寒武纪、海光、天数智芯、昆仑芯、沐曦、摩尔线程等。
项目通过 Helm 安装,可选择高可用调度器副本,并提供 Prometheus 指标和配套的 WebUI。该项目为 CNCF Incubating 项目。
核心功能
- 01通过标准 Kubernetes 资源请求按显存和核心数共享 GPU。
- 02支持 binpack、spread、拓扑感知、独占和 NUMA 等调度策略。
- 03支持 NVIDIA MIG 并动态管理实例。
- 04覆盖昇腾、寒武纪、海光、沐曦等多家加速卡厂商。
- 05提供 Prometheus 指标、WebUI 和 Grafana 仪表盘。
适用场景
- 提高共享 Kubernetes AI 集群中 GPU 的利用率。
- 在同一加速卡资源池上运行多租户的 Notebook、训练和推理任务。
- 搭建带配额控制的私有云 AI 平台。
- 用统一的调度流程管理多厂商异构加速卡集群。
快速上手
- 1
为 GPU 节点打上标签,以便 HAMi 管理它们
kubectl label nodes <node-name> gpu=on - 2
添加 HAMi Helm 仓库
helm repo add hami-charts https://project-hami.github.io/HAMi/ - 3
使用 Helm 将 HAMi 安装到 kube-system 命名空间
helm install hami hami-charts/hami -n kube-system - 4
确认 hami-device-plugin 和 hami-scheduler 处于 Running 状态
kubectl get pods -n kube-system
使用前须知
- 需要 Kubernetes 集群和 Helm;使用 NVIDIA 路径还需满足驱动和容器工具包等前置条件。
- 集群节点需要有加速卡硬件才能发挥作用。
标签
常见问题
- HAMi 是什么?
- 面向 Kubernetes 的中间件,可按显存和算力在多个 Pod 间共享 GPU 等 AI 加速卡,并支持设备感知调度。 HAMi(Heterogeneous AI Computing Virtualization Middleware,原名 k8s-vGPU-scheduler)让平台团队在 Kubernetes 上共享昂贵的 GPU 及其他 AI 加速卡。Pod 只需像常规资源请求一样声明显存或核心数量,即可获得设备的一部分,应用代码无需修改。
- HAMi 可以免费使用吗?用的什么许可证?
- HAMi 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- HAMi 还在维护吗?
- 活跃维护中。HAMi 最近一次提交是在 2026年10月21日。
- HAMi 适合用来做什么?
- 提高共享 Kubernetes AI 集群中 GPU 的利用率。 在同一加速卡资源池上运行多租户的 Notebook、训练和推理任务。 搭建带配额控制的私有云 AI 平台。 用统一的调度流程管理多厂商异构加速卡集群。
- HAMi 怎么安装和运行?
- 为 GPU 节点打上标签,以便 HAMi 管理它们: kubectl label nodes <node-name> gpu=on 添加 HAMi Helm 仓库: helm repo add hami-charts https://project-hami.github.io/HAMi/ 使用 Helm 将 HAMi 安装到 kube-system 命名空间: helm install hami hami-charts/hami -n kube-system 确认 hami-device-plugin 和 hami-scheduler 处于 Running 状态: kubectl get pods -n kube-system
- 在哪里获取 HAMi?
- 源代码和安装说明在 GitHub 上:https://github.com/Project-HAMi/HAMi
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Envoy 实现 Kubernetes Gateway API 的云原生 API 网关,也可用作 AI 网关。
面向 Istio 服务网格的管理控制台,可视化流量、拓扑和配置状态。
用于自托管 Huly 的 Docker Compose 与 Kubernetes 部署配置,Huly 是一套开源的一体化团队协作平台。
开源云原生融合云平台,用一套 API 统一管理本地 KVM、裸金属、vSphere 及多家公有云资源。
一个在 Kubernetes 上部署和管理 Ray 应用的 Operator,通过 RayCluster、RayJob 和 RayService 资源运行工作负载。