pcapi/script/install_offline.sh
2025-12-31 14:08:24 +08:00

50 lines
1.5 KiB
Bash

#!/bin/bash
# GPU节点
# sudo bash install_offline.sh gpu
# 控制节点或普通工作节点
# sudo bash install_offline.sh
set -e
OFFLINE_DIR="/opt/offline"
# -------------------------------
# 1. 安装依赖
# -------------------------------
dpkg -i $OFFLINE_DIR/dependencies/*.deb || apt-get -f install -y
# -------------------------------
# 2. 安装 containerd
# -------------------------------
tar -C /usr/local -xzf $OFFLINE_DIR/containerd/containerd-*.tar.gz
ln -s /usr/local/bin/containerd /usr/bin/containerd
ln -s /usr/local/bin/containerd-shim /usr/bin/containerd-shim
ln -s /usr/local/bin/ctr /usr/bin/ctr
containerd --version
# -------------------------------
# 3. 安装 Kubernetes
# -------------------------------
cp $OFFLINE_DIR/k8s/kubeadm /usr/bin/
cp $OFFLINE_DIR/k8s/kubelet /usr/bin/
cp $OFFLINE_DIR/k8s/kubectl /usr/bin/
chmod +x /usr/bin/kubeadm /usr/bin/kubelet /usr/bin/kubectl
# -------------------------------
# 4. GPU 节点额外安装 NVIDIA 驱动与 runtime
# -------------------------------
if [ "$1" == "gpu" ]; then
chmod +x $OFFLINE_DIR/nvidia/NVIDIA-DRIVER.run
$OFFLINE_DIR/nvidia/NVIDIA-DRIVER.run --silent
dpkg -i $OFFLINE_DIR/nvidia/nvidia-container-toolkit.deb
dpkg -i $OFFLINE_DIR/nvidia/nvidia-container-runtime.deb
fi
# -------------------------------
# 5. 启动 containerd & kubelet
# -------------------------------
systemctl enable containerd --now
systemctl enable kubelet --now
echo "Offline install completed on $(hostname)"