55 lines
2.2 KiB
Bash
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 "所有步骤完成。"
|