AI 加速卡资源
查询集群中可用于模型推理的 AI 加速卡型号及容量概览。接口按加速卡型号、Kubernetes 扩展资源名称和节点架构汇总节点可分配数量与 Pod 已申请数量,可用于选择推理引擎的加速卡型号,并判断单个工作负载可申请的卡数。
接口数据来自 Kubernetes 节点和 Pod,不表示加速卡的实时计算利用率。available 是集群维度的剩余数量,maxAvailablePerNode 是单个节点上的最大剩余数量;二者均不等同于当前项目的资源配额,也不保证工作负载一定能够立即调度。
未配置 Kubernetes 客户端时返回空列表;读取 Kubernetes 资源失败时返回 502。
| 方法 | 路径(产品接口统一前缀 /api/v1) | 功能 |
|---|---|---|
| GET | /gpu/inventory | 查询集群 AI 加速卡资源 |
查询集群 AI 加速卡资源
功能介绍
按型号查询集群中的 AI 加速卡资源及可用数量。支持平台已配置或自动发现的 GPU、HCU、NPU 和 NVIDIA MIG 等 Kubernetes 扩展资源。
访问要求:有效 Token。接口仅返回集群级聚合数量和调度信息,不包含节点、Pod 或租户明细,所有已认证用户均可查询。
URI
GET /api/v1/gpu/inventory
请求消息
无请求体。
响应消息
| 参数 | 参数类型 | 描述 |
|---|---|---|
| items | array | AI 加速卡资源列表;未配置 Kubernetes 或集群中未发现支持的加速卡时为空数组 |
| items[].product | string | 加速卡型号或资源显示名称,例如 NVIDIA-H100-80GB-HBM3 |
| items[].architecture | string | 加速卡所在节点的处理器架构,例如 amd64 或 arm64;无法识别时可能省略 |
| items[].resourceName | string | Kubernetes 扩展资源名称,例如 nvidia.com/gpu、hygon.com/hcu 或 huawei.com/Ascend910 |
| items[].nodeSelector | map<string, string> | 用于将工作负载调度到对应型号和架构节点的标签选择器 |
| items[].total | int64 | 集群中该型号加速卡的可分配总数 |
| items[].used | int64 | 未终止 Pod 的普通容器已申请数量之和,不表示实时硬件利用率 |
| items[].available | int64 | 集群剩余数量,计算方式为 max(total - used, 0) |
| items[].maxAvailablePerNode | int64 | 任一单个节点上的最大剩余数量;单个 Pod 申请多张卡时应重点参考该值 |
请求示例
GET https://{endpoint}/api/v1/gpu/inventory
x-keystone-token: <Keystone Token>
正常响应示例
HTTP/1.1 200
Content-Type: application/json
{
"items": [
{
"product": "NVIDIA-H100-80GB-HBM3",
"architecture": "amd64",
"resourceName": "nvidia.com/gpu",
"nodeSelector": {
"nvidia.com/gpu.product": "NVIDIA-H100-80GB-HBM3",
"kubernetes.io/arch": "amd64"
},
"total": 8,
"used": 3,
"available": 5,
"maxAvailablePerNode": 4
}
]
}
状态码与错误码
成功状态码:200。
| HTTP | error | 说明 |
|---|---|---|
| 401 | unauthorized | authentication required |
| 502 | backend_unavailable | 无法读取 Kubernetes 节点或 Pod 资源,详细原因由 message 返回 |
后端错误与错误封装见调用方式。