Files
shellscripts/install_cri_dockerd.sh
Your Name b00f025742 update
2024-11-12 00:07:46 +08:00

55 lines
2.2 KiB
Bash

#!/bin/bash
# 停止并删除现有的 Minikube 集群
minikube stop
minikube delete
# 安装必要的工具
sudo apt-get update
sudo apt-get install -y conntrack golang-go git
# 安装 cri-dockerd
CRI_DOCKERD_VERSION="0.3.14"
curl -LO https://github.com/Mirantis/cri-dockerd/releases/download/v${CRI_DOCKERD_VERSION}/cri-dockerd_${CRI_DOCKERD_VERSION}.3-0.ubuntu-focal_amd64.deb
sudo dpkg -i cri-dockerd_${CRI_DOCKERD_VERSION}.3-0.ubuntu-focal_amd64.deb
# 启动并启用 cri-dockerd 服务
sudo systemctl daemon-reload
sudo systemctl enable cri-docker.service
sudo systemctl enable --now cri-docker.socket
sudo systemctl start cri-docker.service
# 安装 crictl
CRICTL_VERSION="v1.30.0"
curl -LO https://github.com/kubernetes-sigs/cri-tools/releases/download/$CRICTL_VERSION/crictl-$CRICTL_VERSION-linux-amd64.tar.gz
sudo tar -C /usr/local/bin -xzf crictl-$CRICTL_VERSION-linux-amd64.tar.gz
crictl --version
# 安装 containernetworking-plugins
CNI_PLUGINS_VERSION="1.5.1"
curl -LO https://github.com/containernetworking/plugins/releases/download/v$CNI_PLUGINS_VERSION/cni-plugins-linux-amd64-v$CNI_PLUGINS_VERSION.tgz
sudo mkdir -p /opt/cni/bin
sudo tar -C /opt/cni/bin -xzf cni-plugins-linux-amd64-v$CNI_PLUGINS_VERSION.tgz
export CNI_PATH=/opt/cni/bin
export PATH=$PATH:$CNI_PATH
# 配置 NVIDIA Container Toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# 重新启动 Minikube
sudo minikube start --driver=none
minikube status
# 部署 NVIDIA Device Plugin
kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.10.0/nvidia-device-plugin.yml
kubectl get nodes -o=custom-columns=NAME:.metadata.name,GPUS:.status.allocatable.nvidia\.com/gpu
echo "所有步骤完成。"