华为云CCE集群纳管和验证GPU V100裸金属服务器的解决方案

本文详细介绍了如何将GPUV100裸金属服务器接入华为云CCE集群,安装gpu-device-plugin插件,并基于PyTorch2.0.1镜像创建Pod来验证CUDA的可用性。操作包括集群纳管、插件安装和GPU资源验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【摘要】 解决如何将GPU V100裸金属服务器纳管至已创建好的华为云CCE集群, 并且在集群安装gpu-device-plugin插件, 根据pytorch2.01镜像创建pod,验证cuda是狗可用。 本文给出端到端详解的步骤, 助力读者快速部署业务。

0. 前言

解决如何将GPU V100裸金属服务器纳管至已创建好的华为云CCE集群, 并且在集群安装gpu-device-plugin插件, 根据pytorch2.01镜像创建pod,验证cuda是否可用。 本文给出端到端详解的步骤, 助力读者快速部署业务。

1. 资源准备

(1) 在华为云CCE购买集群, 需要选择网络模型为VPC网络;

(2) 在华为云ModelArts购买GPU V100裸金属服务器, 需要联系客户经理或提ModelArts工单申请相关权限;

(3) 当前GPU V100纳管至CCE集群,需要使用的IMS镜像为euler2.9_x86_nosdi_uefi_ib_40G_20230210v1,需要联系客户经理或提ModelArts工单申请。

2. CCE集群纳管节点-纳管V100裸金属服务器

在CCE Console界面选择纳管节点,选择对应的V100裸金属服务器, 需要注意的配置如下

(1)  容器引擎选择Docker;

(2) 操作系统选择私有镜像euler2.9_x86_nosdi_uefi_ib_40G_20230210v1;

(3) 增加k8s标签: accelerator:nvidia-v100  

纳管过程涉及对V100裸金属服务器更换重装操作系统,预计时间在20分钟左右。

3. CCE集群安装gpu-device-plugin插件

gpu-device-plugin(原gpu-beta)插件是支持在容器中使用GPU显卡的设备管理插件,集群中使用GPU节点时必须安装本插件。

详细介绍可以参考: gpu-device-plugin(原gpu-beta)_云容器引擎 CCE_用户指南_插件_华为云

(1) 前置条件: 必须在BMS节点上打上标签accelerator:nvidia-v100,方法如下(若步骤2纳管节点时已增加,则可略过)

 kubectl label nodes 192.168.0.242 accelerator:nvidia-v100   //192.168.0.242为裸金属服务器私有IP

若无法执行kubectl,可以配置/root/.kube/config后执行。

(2) 在CCE console插件管理-选择gpu-device-plugin插件进行安装, 安装完成后可看到实例:

可以在CCE集群中对应的A100裸金属服务器节点上执行以下命令,进一步验证GPU插件是否安装成功

在GPU裸金属服务器中执行验证安装是否成功:

cd /opt/cloud/cce/nvidia/bin && ./nvidia-smi

或在容器中执行如下命令验证:

cd /usr/local/nvidia/bin && ./nvidia-smi

注意: 该gpu插件仅安装nvidia驱动,并未安装cuda组件,在宿主机若要开发gpu应用仍需自行安装cuda; 容器场景则不涉及。

至此, CCE集群已经成功纳管V100 GPU裸金属服务器,并且可以正常使用k8s pod等资源使用裸金属的GPU算力。

该插件nvidia驱动安装日志请参考: cat /opt/cloud/cce/nvidia/nvidia_installer.log

4. 方案验证: CCE集群中创建pytorch2.0.1 pod验证CUDA的可用性

(1) pytorch2.01镜像准备, 拉取pytorch2.0.1镜像, 若无法拉取需要在V100裸金属服务器上绑定弹性IP,使其具备外网访问权限:

docker pull  pytorch/pytorch:2.0.0-cuda11.7-cudnn8-devel 

(2) 创建gpu类deployment, 详细使用如下yaml, 可以直接挂在V100的8张GPU卡:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: v100-gpu-torch
  namespace: default
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: v100-gpu-torch
      version: v1
  template:
    metadata:
      labels:
        app: v100-gpu-torch
        version: v1
    spec:
      containers:
      - command:
        - sleep
        - "200000000000000000000000"
        image: pytorch/pytorch:2.0.0-cuda11.7-cudnn8-devel
        imagePullPolicy: IfNotPresent
        name: container-1
        resources:
          limits:
            cpu: 250m
            memory: 512Mi
            nvidia.com/gpu: "8"
          requests:
            cpu: 250m
            memory: 512Mi
            nvidia.com/gpu: "8"
      dnsPolicy: ClusterFirst
      imagePullSecrets:
      - name: default-secret
      restartPolicy: Always

(3) 查看deployment和pod创建状态, 成功的状态如下:

(4) 进入pytorch2.0.1容器, 验证CUDA的可用性:

至此已经验证完成,在已纳管V100 GPU裸金属服务器的CCE集群中, 安装gpu-device-plugin插件后, 可以创建pod正常使用V100的GPU算力。

注意事项:

如果裸金属服务器和想挂载的EVS云硬盘不在一个可用区,是无法创建pod+evs卷调度到该裸金属上的, 二者必须保证在同一个可用区。

升级华为云CCE集群是指将该集群中的硬件、软件或系统进行升级,以提升其性能、稳定性以及功能。升级CCE集群有以下几个步骤: 1. 规划准备:在升级之前,需要充分了解CCE集群的当前状态,包括硬件配置、操作系统版本、容器运行环境等。还需要根据升级的目标需求进行规划,确定升级的版本步骤。 2. 备份数据:在升级之前,务必备份CCE集群中重要的数据配置信息,以防止升级过程中数据的丢失或损坏。 3. 停机或迁移容器:升级过程中,可能需要停机或迁移一些正在运行的容器。这可以通过预先对容器进行停机或迁移的方式来实现,以确保不会对业务造成影响。 4. 下线旧版本:在升级之前,需要下线旧版本的集群,包括关闭旧版本的节点服务。确保所有的旧版本节点服务都已关闭后,才能进行下一步的操作。 5. 安装新版本:根据升级规划准备的版本,安装新版本的CCE集群。这可以通过在线升级或离线安装的方式来实现,具体的操作步骤会因版本不同而有所区别。 6. 数据迁移恢复:升级完成后,需要将之前备份的数据配置信息进行恢复迁移。这可以通过数据同步、配置导入等方式来实现,确保新版本的CCE集群能够顺利运行并恢复原有的业务。 7. 功能验证测试:在升级完成后,需要进行功能验证测试,确保新版本的CCE集群能够正常运行,并满足预期的性能功能要求。 8. 上线新版本:经过验证测试后,可以正式上线新版本的CCE集群,接入业务并提供相应的服务。 总之,华为云CCE集群升级是一项复杂的过程,需要仔细规划准备,确保各个步骤的顺利进行。通过正确的操作措施,可以提升集群的性能功能,为业务提供更好的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cloud成长者半期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值