CCE AI套件(NVIDIA GPU)
插件简介
CCE AI套件(NVIDIA GPU)插件是支持在容器中使用GPU显卡的设备管理插件,集群中使用GPU节点时必须安装本插件。
约束与限制
- 下载的驱动必须是后缀为“.run”的文件。
- 仅支持Nvidia Tesla驱动,不支持GRID驱动。
- 安装或重装插件时,需要保证驱动下载链接正确且可正常访问,插件对链接有效性不做额外校验。
- 插件仅提供驱动的下载及安装脚本执行功能,插件的状态仅代表插件本身功能正常,与驱动是否安装成功无关。
- 对于GPU驱动版本与您业务应用的兼容性(GPU驱动版本与CUDA库版本的兼容性),CCE不做保证,请您自行验证。
- 对于已经安装GPU驱动的自定义操作系统镜像,CCE无法保证其提供的GPU驱动与CCE其他GPU组件兼容(例如监控组件等)。
- 如果您使用不在GPU驱动支持列表内的GPU驱动版本,可能引发GPU驱动与操作系统版本、ECS实例类型、Container Runtime等不兼容,继而导致驱动安装失败或者GPU插件异常。对于使用自定义GPU驱动的场景,请您自行验证。
安装插件
- 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”,在右侧找到CCE AI套件(NVIDIA GPU)插件,单击“安装”。
- 设置插件支持的“参数配置”。
表1 GPU插件参数配置 参数
参数说明
集群默认驱动
集群下全部GPU节点将使用相同的驱动,请选择合适的GPU驱动版本,或自定义驱动链接地址,填写Nvidia驱动的下载链接。须知:- 如果下载链接为公网地址,如nvidia官网地址(https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run),各GPU节点均需要绑定EIP。获取驱动链接方法请参考获取驱动链接-公网地址。
- 若下载链接为OBS上的链接,无需绑定EIP 。获取驱动链接方法请参考获取驱动链接-OBS地址。
- 请确保Nvidia驱动版本与GPU节点适配。配套关系请参见GPU驱动支持列表。
- 更改驱动版本后,需要重启节点才能生效。
- 对于Linux 5.x内核系统:Huawei Cloud EulerOS 2.0建议使用470及以上版本驱动;Ubuntu 22.04建议使用515及以上版本驱动。
插件安装完成后,GPU 虚拟化和节点池驱动配置请前往“配置中心 > 异构资源配置”页进行设置。
- 单击“安装”,安装插件的任务即可提交成功。
卸载插件将会导致重新调度的GPU Pod无法正常运行,但已运行的GPU Pod不会受到影响。
验证插件
插件安装完成后,在GPU节点及调度了GPU资源的容器中执行nvidia-smi命令,验证GPU设备及驱动的可用性。
- GPU节点:
# 插件版本为2.0.0以下时,执行以下命令: cd /opt/cloud/cce/nvidia/bin && ./nvidia-smi # 插件版本为2.0.0及以上时,驱动安装路径更改,需执行以下命令: cd /usr/local/nvidia/bin && ./nvidia-smi
- 容器:
cd /usr/local/nvidia/bin && ./nvidia-smi
若能正常返回GPU信息,说明设备可用,插件安装成功。
GPU驱动支持列表
- 当前GPU驱动支持列表仅针对1.2.28及以上版本的GPU插件。
- 如果您需要安装最新版本的GPU驱动,请将您的GPU插件升级到最新版本。
GPU型号 |
支持集群类型 |
机型规格 |
操作系统 |
|||||||
---|---|---|---|---|---|---|---|---|---|---|
Huawei Cloud EulerOS 2.0(支持GPU虚拟化) |
Ubuntu 22.04.4 |
Ubuntu 22.04.3 |
CentOS Linux release 7.6 |
EulerOS release 2.9 |
EulerOS release 2.5 |
Ubuntu 18.04(停止维护) |
EulerOS release 2.3(停止维护) |
|||
Tesla T4 |
CCE Standard集群 |
g6 pi2 |
535.54.03 510.47.03 470.57.02 |
535.161.08 |
535.54.03 470.141.03 |
535.54.03 470.141.03 |
535.54.03 470.141.03 |
535.54.03 470.141.03 |
470.141.03 |
470.141.03 |
Volta V100 |
CCE Standard集群 |
p2s p2vs p2v |
535.54.03 510.47.03 470.57.02 |
535.161.08 |
535.54.03 470.141.03 |
535.54.03 470.141.03 |
535.54.03 470.141.03 |
535.54.03 470.141.03 |
470.141.03 |
470.141.03 |
获取驱动链接-公网地址
- 登录CCE控制台。
- 创建节点,在节点规格处选择要创建的GPU节点,选中后下方显示的信息中可以看到节点的GPU显卡型号。
图1 查看显卡型号
- 登录到https://www.nvidia.com/Download/Find.aspx?lang=cn网站。
- 如图2所示,在“NVIDIA驱动程序下载”框内选择对应的驱动信息。其中“操作系统”必须选Linux 64-bit。
- 驱动信息确认完毕,单击“搜索”按钮,会跳转到驱动信息展示页面,该页面会显示驱动的版本信息如图3,单击“下载”到下载页面。
- 获取驱动软件链接方式分两种:
- 方式一:如图4,在浏览器的链接中找到路径为url=/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run的路径,补齐全路径https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run该方式节点需要绑定EIP 。
- 方式二:如图4,单击“下载”按钮下载驱动,然后上传到OBS,获取软件的链接,该方式节点不需要绑定EIP。
获取驱动链接-OBS地址
- 将驱动上传到对象存储服务OBS中,并将驱动文件设置为公共读,方法请参见上传文件。
节点重启时会重新下载驱动进行安装,请保证驱动的OBS桶链接长期有效。
- 在桶列表单击待操作的桶,进入“概览”页面。
- 在左侧导航栏,单击“对象”。
- 单击目标对象名称,在对象详情页复制驱动链接。
图5 复制OBS链接
组件说明
容器组件 |
说明 |
资源类型 |
---|---|---|
nvidia-driver-installer |
为节点安装Nvidia GPU驱动的工作负载,仅在安装场景占用资源,安装完成后无资源占用。 |
DaemonSet |
nvidia-gpu-device-plugin |
为容器提供Nvidia GPU异构算力的Kubernetes设备插件。 |
DaemonSet |
nvidia-operator |
为集群提供Nvidia GPU节点管理能力。 |
Deployment |
GPU指标
类型 |
指标 |
监控级别 |
说明 |
---|---|---|---|
利用率指标 |
cce_gpu_utilization |
GPU卡 |
GPU卡算力使用率 |
cce_gpu_memory_utilization |
GPU卡 |
GPU卡显存使用率 |
|
cce_gpu_encoder_utilization |
GPU卡 |
GPU卡编码使用率 |
|
cce_gpu_decoder_utilization |
GPU卡 |
GPU卡解码使用率 |
|
cce_gpu_utilization_process |
GPU进程 |
GPU各进程算力使用率 |
|
cce_gpu_memory_utilization_process |
GPU进程 |
GPU各进程显存使用率 |
|
cce_gpu_encoder_utilization_process |
GPU进程 |
GPU各进程编码使用率 |
|
cce_gpu_decoder_utilization_process |
GPU进程 |
GPU各进程解码使用率 |
|
内存指标 |
cce_gpu_memory_used |
GPU卡 |
GPU显存使用量 |
cce_gpu_memory_total |
GPU卡 |
GPU显存总量 |
|
cce_gpu_memory_free |
GPU卡 |
GPU显存空闲量 |
|
cce_gpu_bar1_memory_used |
GPU卡 |
GPU bar1 内存使用量 |
|
cce_gpu_bar1_memory_total |
GPU卡 |
GPU bar1 内存总量 |
|
频率 |
cce_gpu_clock |
GPU卡 |
GPU时钟频率 |
cce_gpu_memory_clock |
GPU卡 |
GPU显存频率 |
|
cce_gpu_graphics_clock |
GPU卡 |
GPU图形处理器频率 |
|
cce_gpu_video_clock |
GPU卡 |
GPU视频处理器频率 |
|
物理状态数据 |
cce_gpu_temperature |
GPU卡 |
GPU温度 |
cce_gpu_power_usage |
GPU卡 |
GPU功率 |
|
cce_gpu_total_energy_consumption |
GPU卡 |
GPU总能耗 |
|
带宽数据 |
cce_gpu_pcie_link_bandwidth |
GPU卡 |
GPU PCIE 带宽 |
cce_gpu_nvlink_bandwidth |
GPU卡 |
GPU nvlink 带宽 |
|
cce_gpu_pcie_throughput_rx |
GPU卡 |
GPU PCIE 接收带宽 |
|
cce_gpu_pcie_throughput_tx |
GPU卡 |
GPU PCIE 发送带宽 |
|
cce_gpu_nvlink_utilization_counter_rx |
GPU卡 |
GPU nvlink 接收带宽 |
|
cce_gpu_nvlink_utilization_counter_tx |
GPU卡 |
GPU nvlink 发送带宽 |
|
隔离内存页面 |
cce_gpu_retired_pages_sbe |
GPU卡 |
GPU单比特错误隔离页数量 |
cce_gpu_retired_pages_dbe |
GPU卡 |
GPU双比特错误隔离页数量 |
指标 |
监控级别 |
说明 |
---|---|---|
xgpu_memory_total |
GPU进程 |
GPU虚拟化显存总量。 |
xgpu_memory_used |
GPU进程 |
GPU虚拟化显存使用量。 |
xgpu_core_percentage_total |
GPU进程 |
GPU虚拟化算力总量。 |
xgpu_core_percentage_used |
GPU进程 |
GPU虚拟化算力使用量。 |
gpu_schedule_policy |
GPU卡 |
GPU虚拟化分三种模式:
|
xgpu_device_health |
GPU卡 |
GPU虚拟化设备的健康情况。
|
版本记录
插件版本 |
支持的集群版本 |
更新特性 |
---|---|---|
2.7.19 |
v1.28 v1.29 v1.30 |
修复nvidia-container-toolkit CVE-2024-0132容器逃逸漏洞 |
2.7.13 |
v1.28 v1.29 v1.30 |
|
2.6.4 |
v1.28 v1.29 |
更新GPU卡逻辑隔离逻辑 |
2.6.1 |
v1.28 v1.29 |
升级GPU插件基础镜像 |
2.5.6 |
v1.28 |
修复安装驱动的问题 |
2.5.4 |
v1.28 |
支持v1.28集群 |
2.1.14 |
v1.21 v1.23 v1.25 v1.27 |
修复nvidia-container-toolkit CVE-2024-0132容器逃逸漏洞 |
2.1.8 |
v1.21 v1.23 v1.25 v1.27 |
修复部分问题 |
2.0.72 |
v1.21 v1.23 v1.25 v1.27 |
更新GPU卡逻辑隔离逻辑 |
2.0.69 |
v1.21 v1.23 v1.25 v1.27 |
升级GPU插件基础镜像 |
2.0.48 |
v1.21 v1.23 v1.25 v1.27 |
修复安装驱动的问题 |
2.0.46 |
v1.21 v1.23 v1.25 v1.27 |
|
2.0.44 |
v1.21 v1.23 v1.25 v1.27 |
|
2.0.18 |
v1.21 v1.23 v1.25 v1.27 |
支持HCE 2.0 |
2.0.17 |
v1.21 v1.23 v1.25 v1.27 |
RollingUpdate参数配置优化 |
2.0.14 |
v1.19 v1.21 v1.23 v1.25 v1.27 |
|
2.0.5 |
v1.19 v1.21 v1.23 v1.25 |
- |
2.0.0 |
v1.19 v1.21 v1.23 v1.25 |
|
1.2.28 |
v1.19 v1.21 v1.23 v1.25 |
|
1.2.24 |
v1.19 v1.21 v1.23 v1.25 |
|
1.2.20 |
v1.19 v1.21 v1.23 v1.25 |
设置插件别名为gpu |
1.2.17 |
v1.15 v1.17 v1.19 v1.21 v1.23 |
增加nvidia-driver-install pod limits 配置 |
1.2.15 |
v1.15 v1.17 v1.19 v1.21 v1.23 |
适配CCE v1.23集群 |
1.2.11 |
v1.15 v1.17 v1.19 v1.21 |
支持EulerOS 2.10系统 |
1.2.10 |
v1.15 v1.17 v1.19 v1.21 |
CentOS系统支持新版本GPU驱动 |
1.2.9 |
v1.15 v1.17 v1.19 v1.21 |
适配CCE v1.21集群 |
1.2.2 |
v1.15 v1.17 v1.19 |
适配EulerOS新内核 |
1.2.1 |
v1.15 v1.17 v1.19 |
|
1.1.13 |
v1.13 v1.15 v1.17 |
支持Centos7.6 3.10.0-1127.19.1.el7.x86_64内核系统 |
1.1.11 |
v1.15 v1.17 |
|