如何定义完整 GPU 成本模型
此操作步骤会将 NVIDIA 整体 GPU 分配和项目配额用量注册为计费项。它不会测量 GPU 利用率百分比。
此配置提供的内容
- 分配:每个已分配的 GPU UUID 计为一个 GPU,然后按 GPU-hours 累计。
- 项目配额(可选):需要按项目配额计费时,可将项目的
requests.nvidia.com/gpuhard quota 按 GPU-hours 累计。 - 模型定价:分配记录会保留
modelName,因此不同的 GPU model 可以采用不同价格。 - 项目配额定价:配额记录不包含 GPU model,因此请使用一个项目级基础价格。
1. 创建记录规则
应用此配置的位置
应用前,请确认 GPU exporter target 状态正常,并且其源指标包含 UUID、modelName 和 namespace 标签。
第一条规则会为每个已分配的 GPU UUID 发出一个值为 1 的序列。第二条规则会发出项目的 GPU 配额。第二条规则是可选的:不需要按项目配额计费时,请移除该规则以及相应的项目配额采集和显示条目。如果环境中的 exporter 或配额指标名称不同,请替换源表达式。
在 Prometheus 中验证规则:
继续之前,两个查询都必须返回预期的非空序列。
开始排查记录规则前,请确认活动 Prometheus 实例中的 GPU exporter target 状态正常。
2. 创建采集配置
应用此配置的位置
在运行 Cost Management Agent 的 GPU 集群中应用此 ConfigMap。
Prometheus 标签源中必须使用 label_ 前缀。Cost Management 会将 label_modelName 存储为计费标签 modelName。
应用 ConfigMap 后,重新加载 Cost Management Agent,使其读取新的采集配置:
3. 创建显示配置
应用此配置的位置
在运行 Cost Management Server 的 Global 集群中应用此 ConfigMap。
应用 ConfigMap 后,重新加载 Cost Management Server,使其读取新的显示配置:
4. 将价格添加到成本模型
在平台控制台中,打开 Metering and Billing > Cost Models,创建或编辑与 GPU 集群关联的成本模型。
添加以下计费项:
Project Quota 是可选项。仅在需要按项目配额计费时添加此方法。Project Quota 数据没有 GPU model 维度,因此不要为此方法配置 modelName 价格覆盖。
如需为不同模型设置分配价格,请添加标签覆盖:
标签值区分大小写。请使用以下内容确认标签值:
5. 验证结果
等待至少一个小时计费窗口,并等待采集和计费流程完成。请按以下顺序验证结果:
- 用量:确认预期集群、命名空间和 GPU UUID 的 GPU 用量记录存在。
- 账单:确认系统根据该用量记录生成账单,并应用了预期价格。
- 控制台:确认成本详情和统计信息中显示了相同的项目和金额。
请确认:
Allocation Usage包含已分配的 GPU UUID,以及在可用时包含modelName;Project Quota包含项目和集群维度;- 分配记录应用了预期的特定模型价格;
- 项目配额记录使用项目级基础价格。
如需了解常见问题,请参阅 FAQ。