《阿里云产品四月刊》—GPU Device-Plugin 相关操作(1)

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

本文来源于阿里云社区电子书《阿里云产品四月刊》


GPU 设备插件(GPU Device-Plugin)Kubernetes 集群中用于管理每个节点的 GPU 的组件,它使得 Kubernetes 能够更方便、高效地利用 GPU 资源。本文介绍在独占 GPU 调度场景下,如何对节点的 GPU Device-Plugin 进行重启和 GPU 设备隔离等操作,以及如何查看和更新 Device-Plugin 版本。

 

GPU Device-Plugin 重启

ACK 的独占 GPU 调度场景下,节点上 GPU 的设备上报的 Device Plugin 默认以一个Static Pod 的形式部署,所以重启过程需要在目标节点上进行。具体操作如下:

mv
/etc/kubernetes/manifests/nvidia device plugin.yml
/etc/kubernetes/
# 等待几秒,旧 Pod 被清理的过程。
mv
/etc/kubernetes/nvidia device plugin.yml
/etc/kubernetes/manifests/

 

GPU 设备隔离

重要

GPU 设备隔离操作仅支持在 nvidia-device-plugin 的 v0.9.1 及以上版本中使用。如何查看 nvidia-device-plugin 的版本,请参见查看并更新 Device-Plugin 版本

 

在 ACK 的独占 GPU 调度场景下,出于某些原因(例如 GPU 设备故障等),您需要隔离节点上的某个 GPU 设备,ACK 提供了一个机制可供您手动对节点上的某个设备进行隔离,以避免新的 Kubernetes 设备调度到这个设备上。具体的操作方式如下:

 

在目标节点/etc/nvidia-device-plugin/的目录下操作  unhealthyDevices.json   这个文件,如果此文件不存在,请新建此文件。unhealthyDevices.json 的文件格式请按照以下 JSON 格式编排。

 

 

{
"index": ["x", "x" ..],
"uuid": ["xxx", "xxx" ..]}

 

您可以根据个人偏好,在 JSON 中填写目标隔离设备的 index  uuid同一个设备只需填写任意一个),保存文件后即自动生效。

 

设 置 完 成 后 , 您 可 以 通 过 查 看 Kubernetes Node 上 报 的 Resource 中 的nvidia.com/gpu 资源的数量以查看隔离的效果。


查看并更新 Device-Plugin 版本

您在目标节点上/etc/kubernetes/manifests/nvidia-device-plugin.yml      文件中查看的 device-plugin 的镜像 Tag,其所代表的版本号即为 Device-Plugin 的版本。

 

目前 ACK 所支持的最新的版本为 v0.9.1-3f942982-aliyun , 如需将节点中的nvidia-device-plugin 升级至最新版本,请将 nvidia-device-pluginstaticYAML 文件即/etc/kubernetes/manifests/nvidia-device-plugin.yml 更新为以下内容:

apiVersion: v1kind: Podmetadata:
annotations:
scheduler.alpha.kubernetes.io/critical pod: ""
labels:
component: nvidia device plugin
name: nvidia device plugin
namespace: kube systemspec:
priorityClassName: system node critical
hostNetwork: true
containers:
image:
registry <REGION ID> vpc.ack.aliyuncs.com/acs/k8s device plugin:v0.9.
1 3f942982 aliyun
# Image 中的<REGION ID>需要替换为您节点所在的阿里云的 Region Id,例如cn beijing、cn hangzhou 等。
name: nvidia device plugin ctr
args:
[" fail on init error=false"," pass device specs=true"," device i
d strategy=index"]
livenessProbe:
httpGet:
path: /health
port: 30080
initialDelaySeconds: 10
timeoutSeconds: 2
periodSeconds: 5
failureThreshold: 3
resources:
limits:
memory: "200Mi"
cpu: "500m"
env:
name: DP DISABLE HEALTHCHECKS
value: all
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
volumeMounts:
name: device plugin
mountPath: /var/lib/kubelet/device plugins
name: device plugin config
mountPath: /etc/nvidia device plugin
volumes:
name: device plugin
hostPath:
path: /var/lib/kubelet/device plugins
name: device plugin config
hostPath:
path: /etc/nvidia device plugin
type: DirectoryOrCreate


 

相关文档

 

如遇到 GPU 节点相关问题,请参见自助诊断 GPU 节点问题GPU FAQ如需了解共享 GPU 调度的相关信息,请参见共享 GPU 调度概述

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
2月前
|
机器学习/深度学习 编解码 人工智能
阿里云Stable Diffusion操作教程
阿里云Stable Diffusion操作教程
|
2月前
阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
【2月更文挑战第8天】阿里云RPA元素出现后,有个返回结果 ,需要拿这个结果再去做判断吗?这个判断的操作 如何 处理
59 3
|
2月前
|
Java Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之阿里云函数计算中出现“找不到类”的错误如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
Serverless 应用引擎操作报错合集之阿里云函数计算中出现“找不到类”的错误如何解决
|
5天前
|
算法 小程序 开发工具
视觉智能开放平台操作报错合集之同样的图片路径(上海阿里云),sdk报错code.400,是什么原因
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
|
2月前
|
SQL 关系型数据库 Java
实时计算 Flink版操作报错之在阿里云DataHub平台上执行SQL查询GitHub新增star仓库Top 3时不显示结果,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
2月前
|
SQL DataWorks Java
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
|
2月前
|
弹性计算 前端开发 Serverless
Serverless 应用引擎操作报错合集之在阿里云函数计算中,调用了FC函数但是没有执行或者报错,并且在FC函数后台也看不到调用记录日志如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
数据采集 SQL DataWorks
DataWorks操作报错合集之在阿里云DataWorks的数据同步任务中,过滤条件不生效,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
2月前
|
网络协议 Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之在阿里云函数计算中,服务器调用FC函数时出现 "[Errno -3] Temporary failure in name resolution)" 错误如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
506 4

热门文章

最新文章