如何在k8s集群中安装nvidia、cuda并使用GPU进行训练

如何在k8s集群中安装nvidia、cuda并使用GPU进行训练

在写具体步骤前,发表一下自己的感想体会,因为在这过程中,踩过很多坑,对于像我们这种小白,踩坑真的是无处不在,真的很感谢网上一些大神细心地帮助,也感谢其它大神分享的博客。所以自己实现之后也想把这过程中遇到的坑和解决的方法总结总结,希望对大家有用。

本文主要是针对已经部署好了k8s集群的,基于centos系统,截止k8s 1.8版本,对GPU的使用支持还是停留在实验阶段,只支持nvidia的GPU,在k8s上使用GPU,先要装好几样东西。

安装流程:

1、关闭UEFI。这个很重要,因为如果不关闭可能会导致安装nvidia驱动的时候无法加载kernel模块,我就在这浪费了好多时间。具体做法是开机按F2进入BIOS设置,通常在BOOT或Secure选项卡上,把安全启动[Secure BOOT],改为[Disable],如果不是的话自己去搜搜相应的。

2、确认自己主机有nvidia的显卡。

输入命令lspci | grep -i nvidia 查看nvidia显卡情况。

3、检查系统版本,确保系统支持(需要Linux-64bit系统)

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

4、根据nvidia显卡的信息和系统下载相应的安装包。

NVIDIA-Linux-x86_64-381.22.run # 最新显卡驱动

cuda_9.0.61_375.26_linux.run # 最新CUDA安装包

cudnn-8.0-linux-x64-v6.0.tgz # cudnn库v6.0

(1)登录NVIDIA官网http://www.geforce.cn/drivers设置驱动检索条件(注意尽量设置语言英文):

(2)官网下载cuda-rpm包https://developer.nvidia.com/cuda-downloads,一定要对应自己的版本。

(3)下载cudnn需要注册https://developer.nvidia.com/rdp/cudnn-download,注意有些浏览器是注册不了的,我就踩了这个坑。

5、安装gcc gcc-c++

#yum install gcc gcc-c++

6、查看内核是否一致。

#uname -r 

#rpm -q kernel-devel

#rpm -q kernel-headers

如果一致的话这步可以跳过,输入rpm -q kernel-devel时有可能是not found,说明没有安装,有显示说明已安装。

安装kernel-devel和kernel-headers。

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

或者

#yum install kernel-devel

#yum install kernel-headers

如果安装完发现不一致的话需要 yum -y update

7、安装cuda(最好是先安装好这个再去安装驱动,不然会nvidia的安装不会很顺利,我就踩了这个坑。)

#sudo rpm -i cuda-repo-rhel7-8-0-local-ga2-8.0.61-1.x86_64.rpm

#sudoyum clean all

#sudoyuminstall cuda

可能会报错,

(1)原因是缺少2个包,装第一个:

#sudo vim /etc/yum.repos.d/linuxtech.testing.repo

输入:

[linuxtech-testing]

name=LinuxTECH Testing

baseurl=http://pkgrepo.linuxtech.net/el6/testing/

enabled=0

gpgcheck=1

gpgkey=http://pkgre

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,我可以为您提供一些指导。 首先,您需要在Kubernetes集群安装Docker和Kubernetes命令行工具kubectl。 接下来,您需要创建一个Kubernetes命名空间,以便将所有部署的资源隔离开来: ``` kubectl create namespace grafana ``` 然后,您需要创建一个Kubernetes配置文件,其包含Grafana容器的部署和服务定义。以下是一个简单的示例: ``` apiVersion: apps/v1 kind: Deployment metadata: name: grafana namespace: grafana spec: replicas: 1 selector: matchLabels: app: grafana template: metadata: labels: app: grafana spec: containers: - name: grafana image: grafana/grafana:latest ports: - containerPort: 3000 --- apiVersion: v1 kind: Service metadata: name: grafana namespace: grafana spec: selector: app: grafana ports: - name: http port: 80 targetPort: 3000 type: LoadBalancer ``` 该配置文件指定了一个名为“grafana”的部署,使用最新版本的Grafana容器镜像。它还定义了一个名为“grafana”的服务,该服务将公开Grafana容器的端口3000,并将其公开到Kubernetes集群的外部。 要部署这个配置文件,您可以使用以下命令: ``` kubectl apply -f grafana.yaml ``` 这将在Kubernetes集群创建一个名为“grafana”的部署和服务。您可以使用以下命令获取服务的公共IP地址: ``` kubectl get svc grafana -n grafana ``` 一旦您知道了服务的IP地址,您就可以在Web浏览器访问Grafana仪表板。要登录Grafana,请使用默认凭据admin/admin。 希望这可以帮助您开始在Kubernetes集群部署Grafana。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值