在 Alauda Container Platform 中使用 HAMi 虚拟 GPU ResourceQuota
使用 Alauda Container Platform 在项目级和命名空间级配置 HAMi 虚拟 GPU 配额。平台将项目配额作为项目级 ProjectQuota 进行管理:项目内各命名空间 ResourceQuota 的总和必须保持在项目配置的限制范围内。
在 GPU 集群上创建 HAMi 扩展资源 ConfigMaps 后,Alauda Container Platform 中会显示 HAMi 扩展配额。如果配额类型列表中未显示 HAMi NVIDIA,请检查是否已安装 Alauda Build of Hami,以及是否已应用安装指南中的扩展资源 ConfigMaps。
目录
前提条件HAMi 虚拟 GPU 配额字段配置项目级 HAMi 虚拟 GPU 配额创建项目时对于现有项目配置命名空间级 HAMi 虚拟 GPU 配额创建命名空间时对于现有命名空间在 Alauda Container Platform 中查看配额使用情况HAMi 虚拟 GPU 配额的强制执行行为故障排查前提条件
- 目标业务集群已安装 Alauda Build of Hami。
- 已在 GPU 集群中创建 HAMi 扩展资源 ConfigMaps。
- 你有权限在 Alauda Container Platform 中创建项目或更新项目配额。
- 目标项目已关联到提供 HAMi 资源的 GPU 集群。
HAMi 虚拟 GPU 配额字段
当平台要求你配置 HAMi NVIDIA 配额类型时,请使用以下字段:
配置项目级 HAMi 虚拟 GPU 配额
项目配额是该项目内所有命名空间配额的上限。
创建项目时
- 在 Alauda Container Platform 中,进入
Administrator->Project Management。 - 单击
Create Project。 - 填写项目基本信息,然后选择提供 HAMi 资源的 GPU 集群。
- 单击
Next打开项目配额设置步骤。 - 在所选集群中添加扩展配额。
- 将配额类型设置为
HAMi NVIDIA。 - 填写
gpu number、vgpu cores和vgpu memory。 - 确认配额值后,创建项目。
对于现有项目
- 在 Alauda Container Platform 中,进入
Administrator->Project Management。 - 打开目标项目详情页。
- 更新该项目关联 GPU 集群的项目配额。
- 添加或编辑扩展配额类型
HAMi NVIDIA。 - 设置
gpu number、vgpu cores和vgpu memory,然后保存更改。
配置命名空间级 HAMi 虚拟 GPU 配额
命名空间的 HAMi 虚拟 GPU 配额会从分配到同一集群的项目配额中扣减。如果剩余项目配额不足,平台会拒绝创建或更新命名空间配额。
创建命名空间时
- 在 Alauda Container Platform 中打开目标项目。
- 单击
Create Namespace。 - 填写命名空间信息。
- 在
Resource Quota部分,找到硬件加速器或扩展资源配额区域。 - 添加扩展资源配额,并将配额类型设置为
HAMi NVIDIA。 - 填写
gpu number、vgpu cores和vgpu memory。 - 保存命名空间。
对于现有命名空间
- 在 Alauda Container Platform 中打开目标项目。
- 打开目标命名空间详情页。
- 编辑命名空间的
Resource Quota。 - 添加或编辑扩展配额类型
HAMi NVIDIA。 - 设置
gpu number、vgpu cores和vgpu memory,然后保存更改。
在 Alauda Container Platform 中查看配额使用情况
配置完成 HAMi 虚拟 GPU 配额后,你可以在 Alauda Container Platform 的多个页面查看配额使用和分配情况:
- 在项目详情页,
Quota表会显示项目级配额。对于 HAMi 资源,该表可以显示Utilization和Quota Rate;其中,Utilization表示已用配额占总配额的比例,Quota Rate表示已分配配额占总配额的比例。 - 在命名空间详情页,
Resource Quotas表会显示命名空间级信息,例如Allocated、Quota和Quota Rate。 - 在业务视图中命名空间范围的
Overview页面,Resource Quotas卡片可以显示当前命名空间配额和分配率。
在创建或扩缩容原生应用之前,请使用这些页面检查 gpu number、vgpu cores 和 vgpu memory 是否接近上限。
HAMi 虚拟 GPU 配额的强制执行行为
HAMi 虚拟 GPU 配额的强制执行方式不同于标准 Kubernetes ResourceQuota 的准入行为。
- 对于标准 Kubernetes 资源配额,超出配额的请求通常会在 Pod 创建之前被拒绝。
- 对于 Alauda Container Platform 中的 HAMi 扩展配额,配额可行性会在调度过程中由
hami-scheduler进行评估。
在当前产品行为中,如果某个原生应用请求的 HAMi 资源超出了剩余命名空间配额,Pod 对象可能仍会先被创建,并保持在 Pending 状态,同时从 HAMi 调度器返回配额不足或调度失败信息。此行为与 HAMi 在调度器侧进行配额计算的模型一致。
故障排查
- 如果
HAMi NVIDIA在配额类型列表中不可用,请重新在 GPU 集群上应用 HAMi 扩展资源 ConfigMaps。 - 如果命名空间配额创建或更新失败,请检查所请求的命名空间配额是否会超出同一 HAMi 资源的剩余项目配额。
- 如果 Pod 已创建但仍处于
Pending状态,请检查hami-scheduler的调度事件,并确认该命名空间仍有足够的gpu number、vgpu cores和vgpu memory配额。 - 如果在更新项目配额后工作负载仍无法调度,请检查命名空间
ResourceQuota、工作负载资源请求以及目标集群中的实际 GPU 容量。