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 小时前
K8S学习之基础五十八:部署nexus服务
学习·docker·云原生·容器·kubernetes
老马啸西风1 小时前
Neo4j GDS-06-neo4j GDS 库中社区检测算法介绍
网络·算法·云原生·中间件·neo4j
mask哥1 小时前
一文详解k8s体系架构知识
java·spring boot·docker·微服务·云原生·架构·kubernetes
demonlg01122 小时前
Go 语言标准库中log模块详细功能介绍与示例
开发语言·后端·云原生·golang
demonlg01123 小时前
Go 语言标准库中strings和strconv详细功能介绍与示例
开发语言·后端·云原生·golang
寒冰碧海4 小时前
JDK 17 + Spring Boot 3 全栈升级实战指南--从语法革新到云原生,解锁企业级开发新范式
java·spring boot·云原生
程序猿chen4 小时前
第二重·纵横篇:Kubernetes御剑术与云原生护体罡气
java·git·后端·程序人生·云原生·容器·kubernetes
云上艺旅5 小时前
K8S学习之基础六十一:k8s中部署helm
学习·云原生·容器·kubernetes
Ares-Wang5 小时前
Kubernetes》》k8s》》Replication Controller
kubernetes
Raymond运维7 小时前
Linux系统修改网卡名为eth0、eth1
linux·运维·云原生