K8S集群 - GPU机器驱动安装

1、GPU可以升级下内核3.10版本的小版本升级
```shell
yum install kernel
```

2、首先查看GPU显卡信息
```shell
lspci | grep -i nvidia
```

3、去官网下载GPU的驱动(p40 10.2cuda)
```shell
https://www.nvidia.cn/Download/index.aspx?lang=cn
```

4、检查系统是否存在nouveau驱动(若存在nouveau驱动则执行第三步,若nouveau驱动不存在则直接跳过第三步)
```shell
lsmod | grep nouveau
```

5、关闭nouveau驱动

```shell
# 驱动加入黑名单中:
# 在/etc/modprobe.d/blacklist.conf 在后面加入:blacklist nouveau (若文件不存在则新建文件,将内容写入文件内)

# 备份 the initramfs file :
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

# 重新建立 the initramfs file:
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
```
备注:第三步执行完之后,重启服务器,执行lsmod | grep nouveau 查看nouveau驱动是否存在,若不存在则执行下一小节。



6、安装工具包

安装显卡驱动前需要安装内核工具
```shell
# 内核工具 elrepo-kernel-el7-x86_64-RPMS安装包下载_开源镜像站-阿里云  需要下载对应的内核版本的工具包
yum install kernel-devel kernel-headers  -y

yum install dkms -y

yum install libglvnd-devel.x86_64 -y

# 安装开发工具集
yum groupinstall "Development Tools" -y

# 安装内核头文件
yum install "kernel-devel-uname-r == $(uname -r)" -y


# 安装gcc
yum install gcc-c++ -y


```

7、 查看kernels-source路径
```shell

ls /usr/src/kernels/

```


8、指定路径安装
```shell
sh NVIDIA-Linux-x86_64-440.118.02.run --kernel-source-path=/usr/src/kernels/3.10.0-1160.66.1.el7.x86_64
```

二、CUDA安装


7. 安装cuda

```shell

# 公网cuda10.2下载

wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/patches/1/cuda_10.2.1_linux.run
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/patches/2/cuda_10.2.2_linux.run

# 内网可以用如下链接下载

wget https://digital.s3-internal.cn-north-1.jdcloud-oss.com/online-data/deploy/cuda10-2-install-resource.zip

# 下载脚本按序执行

sh cuda_10.2.89_440.33.01_linux.run

sh cuda_10.2.1_linux.run

sh cuda_10.2.2_linux.run



# 修改环境变量
vim ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64
export PATH=$PATH:/usr/local/cuda-10.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.2

# 激活环境变量
source ~/.bashrc

# 查看安装版本
nvcc -V
```

三、Nvidia和Docker兼容程序安装


安装nvidia-docker2 前提,已经安装了docker 在一台联网的机器上执行下面命令.
```
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
yum install --downloadonly nvidia-docker2 --downloaddir=/tmp/nvidia
```
会得到libnvidia-container、libnvidia-container-tools、nvidia-container-runtime、nvidia-container-toolkit、nvidia-docker2 上传到离线环境中,进入rpm包路径里执行

#对应docker1.20版本的nvidia-runtime-container资源包

wget https://digital.s3.cn-north-1.jdcloud-oss.com/online-data/deploy/nvidia-container-runtime.zip


```shell
rpm -Uvh *.rpm --nodeps --force
```

离线安装nvidia-container-runtime
docker19.03之后,不再需要安装nvidia-docker了。只安装NVIDIA-CONTAINER-RUNTIME就可以使用了,并且支持docker-compose。
参考链接:
https://blog.csdn.net/ace1231/article/details/119697280

```shell
systemctl daemon-reload
systemctl restart docker
```

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
yum clean expire-cache 
yum install -y nvidia-docker2
systemctl restart docker

/etc/docker/daemon.json中添加:

{

    "default-runtime""nvidia",

    "runtimes": {

        "nvidia": {

            "path""/usr/bin/nvidia-container-runtime",

            "runtimeArgs": []

        }

    }

}

systemctl restart docker

执行:

kubectl create -f nvidia-device-plugin.yml 

四、内核版本调整办法

如果centos7.6升级了4和4以上版本的内核,需要调整回3的版本,不然驱动安装会出现非常多的问题。

uname -r   # 查看当前内核版本

cat /boot/grub2/grub.cfg |grep "menuentry "                                                     # 查看所有可用内核

grub2-set-default 'CentOS Linux (3.10.0-1160.81.1.el7.x86_64) 7 (Core)'        #设置默认启动的内核

grub2-editenv list                                                                                                   # 查看内核修改结果

注意修改默认内核后要reboot后才能生效。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值