k8s集群纳管GPU节点

本文详细介绍了如何在k8sv1.26.9集群中纳管GPU节点,包括安装NVIDIACUDA驱动、containerd,配置nvidia-container运行时,加入集群以及部署GPU资源控制器,以支持PyTorch应用的运行。
摘要由CSDN通过智能技术生成

k8s集群纳管GPU节点

k8s版本: v1.26.9
gpu节点操作系统: Ubuntu 20.04
gpu节点containerd版本: 1.7.2
  • nvidia cuda驱动安装
wget https://cn.download.nvidia.cn/tesla/550.54.15/nvidia-driver-local-repo-ubuntu2004-550.54.15_1.0-1_amd64.deb

apt install ./nvidia-driver-local-repo-ubuntu2004-550.54.15_1.0-1_amd64.deb -y
apt update
apt install nvidia-driver-550 -y
  • containerd安装
apt update
apt install containerd -y
  • 安装配置nvidia容器运行时
# 配置生产存储库
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 从存储库更新包列表
sudo apt-get update

# 安装 NVIDIA Container Toolkit 软件包
sudo apt-get install -y nvidia-container-toolkit

# 使用 nvidia-ctk 命令配置容器运行时
sudo nvidia-ctk runtime configure --runtime=containerd
sudo systemctl restart containerd
  • 加入k8s集群
# ssh 主节点
# 创建加入集群的token命令
kubeadm token create --print-join-command

# ssh gpu节点
kubeadm join xxx:6443 --token xxx.xxx --discovery-token-ca-cert-hash sha256:xxx
  • 创建gpu资源分配控制器
# 添加库
helm repo add nvidia https://nvidia.github.io/gpu-operator \
   && helm repo update

helm install --wait --generate-name     
 -n gpu-operator \
 --create-namespace \
 nvidia/gpu-operator \
 --set node-feature-discovery.image.repository=k8s.dockerproxy.com/nfd/node-feature-discovery
  • 测试启动pod,设置NVIDIA_DISABLE_REQUIRE=true可让高版本CUDA运行在低版本CUDA的节点上
apiVersion: v1
kind: Pod
metadata:
  name: test
  labels:
    app: test
spec:
  containers:
  - name: test
    image: pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel
    imagePullPolicy: IfNotPresent
    env:
    - name: NVIDIA_DISABLE_REQUIRE
      value: "true"
    command: ['sh', '-c', 'tail -f /dev/null']
    resources:
      limits:
        nvidia.com/gpu: 1

在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值