使用k8s集群调度GPU

背景

最近接到任务,要使k8s集群支持调度GPU,我对硬件资源不是很懂,大概看了看官方,简单梳理了一下思路,便开始了踩坑之路(本片文章是无坑文档,请放心使用/参考)

前提条件:

对于实验学习而言,在k8s集群中,至少保证1台node节点是有显卡的(本文是NVIDIA),其他品牌显卡请出门右转自行Google

集群环境说明:

本文是学习实验环境,所以只有 ai-gpu-flask2.novalocal 支持 GPU,其余的节点都是虚拟机。最终验证也是在 ai-gpu-flask2.novalocal 上进行。

系统名称角色k8s版本
centos7.6ai-gpu-flask2.novalocalworkerkubeadm v1.16.8
centos7.6masteretcd,masterkubeadm v1.16.8
centos7.6node1workerkubeadm v1.16.8
centos7.6node2workerkubeadm v1.16.8

预安装

  • 本步骤在支持GPU节点上执行

  • 参考链接:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#introduction

要验证您的 GPU 是否具有 CUDA 功能,请转至与您的发行版等效的“系统属性”,或者在命令行中输入:

$ lspci | grep -i nvidia

00:06.0 3D controller: NVIDIA Corporation TU104GL [Tesla T4] (rev a1)

要确定您正在运行的发行版和发行版号,请在命令行中键入以下内容:

$ uname -m && cat /etc/*release

要验证系统上安装的gcc版本,请在命令行中键入以下内容:

$ gcc --version

可以通过运行以下命令找到系统正在运行的内核版本:

$ uname -r

当前运行的内核的内核头文件和开发包可以通过以下方式安装:

$ sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)

选择您正在使用的平台并下载 NVIDIA CUDA Toolkit

下载链接:http://developer.nvidia.com/cuda-downloads

$ wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda-repo-rhel7-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm
$ sudo rpm -i cuda-repo-rhel7-10-2-local-10.2.89-440.33.01-1.0-1.x86_64.rpm
$ sudo yum clean all
$ sudo yum -y install nvidia-driver-latest-dkms cuda
$ sudo yum -y install cuda-drivers

要安装显示驱动程序,必须首先禁用 Nouveau 驱动程序:在以下位置创建文件

$ vim /etc/modprobe.d/blacklist-nouveau.conf 

# 具有以下内容:
$ blacklist nouveau
$ options nouveau modeset=0

重新生成内核initramfs:

$ sudo dracut --force

验证

# 正常来说会输出已经安装过的程序
$ rpm -qa | grep nvidia

# 正常来说会输出已经安装过的程序
$ rpm -qa | grep cuda
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值