加速器配额
加速器产品通常通过 Kubernetes 扩展资源名称暴露资源。安装产品后,ACP 可以在项目和命名空间配额中使用这些资源名称。
配额资源
在集群中安装加速器产品后,ACP 可以在项目或命名空间作用域下显示相应的加速器配额字段。具体的资源名称和单位取决于产品。
示例包括:
- 物理 NVIDIA GPU 数量;
- HAMi 虚拟 GPU 核心和内存资源;
- Ascend NPU 资源;
- DRA 或厂商特定的资源类型。
在 ACP 中显示配额字段
Kubernetes 节点可分配资源与 ACP 配额字段相关,但并不相同。节点可以报告加速器扩展资源,而 ACP 配额页面在将该资源显示为可选配额字段之前,还需要资源元数据。
如果节点已经报告了该加速器资源,但 ACP 配额页面没有显示它,请在 kube-public 命名空间中使用 ConfigMap 注册该资源元数据。
NOTE
要求如下:
- 每个加速器资源名称创建一个 ConfigMap。
- 在
kube-public命名空间中创建该 ConfigMap。 metadata.name使用cf-crl-<groupName>-<name>格式。- 将
metadata.labels.features.cpaas.io/type设置为CustomResourceLimitation。 - 将
metadata.labels.features.cpaas.io/group和data.group设置为相同的组名称。 - 将
metadata.labels.features.cpaas.io/enabled设置为"true"。 - 将
data.key设置为准确的 Kubernetes 扩展资源名称,例如nvidia.com/gpualloc或huawei.com/Ascend910。
使用以下字段控制 ACP 在配额页面中如何显示和应用该资源:
data.labelEn和data.labelZh:显示给用户的名称。data.descriptionEn和data.descriptionZh:显示给用户的帮助文本。data.limits:设置为required或optional。data.requests:设置为disabled或fromLimits。data.resourceUnit:资源单位,例如count。data.relatedResources:应一起使用的资源名称。data.excludeResources:不应与此资源混用的资源名称。data.ignoreNodeCheck:当配额字段派生自其他资源且不需要直接检查节点可分配资源时,设置为"true"。
如果产品暴露多个资源名称,请为每个资源名称创建一个 ConfigMap。例如,共享 GPU 产品可能会分别暴露 GPU 核心和 GPU 内存的资源名称。
示例
以下示例注册了 HAMi NVIDIA 资源字段,用于 GPU 数量、vGPU 核心和 vGPU 内存:
对于其他加速器产品,请保持相同的 ACP 元数据模型,并将资源 key、标签、显示名称、单位和设备信息替换为该产品暴露的值。
配置配额
使用 ACP 配额页面执行以下操作:将集群添加到项目、创建命名空间或更改命名空间配额。请参阅加速器产品文档,了解某个产品暴露了哪些资源名称以及每个单位的含义。