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集群以及如何新增节点。

相关推荐
无言听风雨丶7 小时前
Kubernetes 控制平面深度剖析:从 kubectl apply 到 etcd 写入的全链路
平面·kubernetes·etcd
openFuyao8 小时前
openFuyao x 复旦大学软件工程实验室 Panel 回顾:Agentic时代,集群调度技术体系将如何演进?
kubernetes·openfuyao
螺蛳粉 螺蛳粉9 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
知已难寻10 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
相思难忘成疾12 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
PellyKoo12 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
n1121212 小时前
Ollama 接 Open WebUI 中文界面:我踩的 4 个坑
云原生·eureka·ollama·本地大模型·open webui·私有部署·中文界面
阿里云云原生13 小时前
用户说 App“下不了单”:用 Session Replay 看清流程卡在哪一步
云原生
weirong13 小时前
给 K8s 加一个自动值班员:分级故障自愈引擎
kubernetes
云和数据.ChenGuang13 小时前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes