k8s集群添加一个新GPU节点

前提

现在是已经搭建好一个GPU集群,需要添加一个新的节点(3090卡),用来分担工作,大致可以分为以下几个部分:

  • 1,安装GPU驱动
  • 2,安装docker
  • 3,安装cri-dockerd
  • 4,离线安装Nvidia-container-toolkit
  • 5,二进制安装k8s组件以及密钥
    下面分别介绍。

1,安装GPU驱动

详情可见:
https://blog.csdn.net/m0_62464865/article/details/145487945?spm=1001.2014.3001.5502

2,安装docker

详情可见:
https://blog.csdn.net/m0_62464865/article/details/145491293?spm=1001.2014.3001.5502

3,安装cri-dockerd

3.1 下载并解压

bash 复制代码
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.16/cri-dockerd-0.3.16.arm64.tgz
tar -zxvf cri-dockerd-0.3.16.arm64.tgz

如果是amd64架构,则用下面的地址:

bash 复制代码
https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.16/cri-dockerd-0.3.16.amd64.tgz

3.2 复制到bin目录下

bash 复制代码
sudo cp cri-dockerd /usr/bin/

3.3 配置启动文件

bash 复制代码
sudo vim /usr/lib/systemd/system/cri-docker.service
bash 复制代码
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket
 
[Service]
Type=notify
 
ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7
 
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
 
StartLimitBurst=3
 
StartLimitInterval=60s
 
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
 
TasksMax=infinity
Delegate=yes
KillMode=process
 
[Install]
WantedBy=multi-user.target
bash 复制代码
sudo vim /usr/lib/systemd/system/cri-docker.socket
bash 复制代码
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service
 
[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
 
[Install]
WantedBy=sockets.target

3.4 启动cri-docker并设置开机启动

bash 复制代码
sudo systemctl daemon-reload 
sudo systemctl enable cri-docker --now
sudo systemctl status cri-docker

4,离线安装Nvidia-container-toolkit

https://blog.csdn.net/m0_62464865/article/details/145500004?spm=1001.2014.3001.5502

5,二进制安装k8s组件以及密钥

由于这部分涉及内容比较多,空闲时间再详细写离线情况下如何搭k8s的GPU集群以及如何新增节点。

相关推荐
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS1 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun1 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
赵文宇(温玉)1 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang1 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
运维开发那些事1 天前
volcano千卡集群训推最佳实践
ai·gpu算力
忆~遂愿1 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl1 天前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、1 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd