Update GPU offline package

This commit is contained in:
shenlan 2025-06-27 15:09:25 +08:00
parent 5e5083df38
commit bb8032bb36
2 changed files with 9 additions and 31 deletions

View File

@ -10,7 +10,6 @@ bash scripts/create-gpu-k8s-offline-package.sh
# 指定其它版本,例如 v1.28.7
K8S_VERSION=labring/kubernetes:v1.28.7 \
KUBEADM_VERSION=1.28.7 \
bash scripts/create-gpu-k8s-offline-package.sh
```
@ -18,25 +17,9 @@ bash scripts/create-gpu-k8s-offline-package.sh
- Kubernetes 二进制镜像
- Cilium、Helm 等依赖镜像
- kubeadm/kubelet/kubectl deb 包
- NVIDIA 驱动及插件
- NVIDIA 驱动nvidia-driver-535及 nvidia-container-toolkit deb 包
- nerdctl CLIv${NERDCTL_VERSION:-2.1.2}
- 必要的容器镜像,包括 `registry.k8s.io/pause:3.8`
离线包在部署时可同时适用于 `kubeadm``sealos`,最低推荐 Kubernetes 版本为 **1.29**,也可以使用更新的 `1.30` 等稳定版本。
该离线包用于基于 `sealos` 部署 Kubernetes最低推荐版本为 **1.29**,也可以使用更新的 `1.30` 等稳定版本。
## 在线安装 kubeadm/kubelet/kubectl
若主机可以访问互联网,可参考以下命令安装适用于 Kubernetes 1.29 的工具链:
```bash
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | \
sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
```
上述仓库仅提供 Kubernetes 1.29 系列的 deb 包,如果需要其它版本,请将 URL 中的 `v1.29` 替换为目标次要版本。

View File

@ -9,7 +9,8 @@ NERDCTL_VERSION="${NERDCTL_VERSION:-2.1.2}"
NVIDIA_PLUGIN_VERSION="${NVIDIA_PLUGIN_VERSION:-v0.17.1}"
NVIDIA_DRIVER_VERSION="${NVIDIA_DRIVER_VERSION:-nvidia-driver-535}"
CUDA_SAMPLE_IMAGE="${CUDA_SAMPLE_IMAGE:-nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda12.5.0}"
KUBEADM_VERSION="${KUBEADM_VERSION:-1.29.9}"
PAUSE_IMAGE="${PAUSE_IMAGE:-registry.k8s.io/pause:3.8}"
IMAGES=(
"$K8S_VERSION"
@ -17,6 +18,7 @@ IMAGES=(
"$HELM_VERSION"
"nvcr.io/nvidia/k8s-device-plugin:${NVIDIA_PLUGIN_VERSION}"
"$CUDA_SAMPLE_IMAGE"
"$PAUSE_IMAGE"
)
WORKDIR="offline"
@ -26,8 +28,7 @@ mkdir -p "$WORKDIR/images" "$WORKDIR/packages"
APT_PACKAGES=(
curl gnupg2 ca-certificates lsb-release apt-transport-https \
software-properties-common openssh-client openssh-server uidmap \
containerd "$NVIDIA_DRIVER_VERSION" nvidia-container-toolkit \
kubelet="${KUBEADM_VERSION}-00" kubeadm="${KUBEADM_VERSION}-00" kubectl="${KUBEADM_VERSION}-00"
"$NVIDIA_DRIVER_VERSION" nvidia-container-toolkit
)
# Add NVIDIA repository for nvidia-container-toolkit
@ -38,12 +39,6 @@ curl -s -L "https://nvidia.github.io/nvidia-docker/${distribution}/nvidia-docker
sed 's#^deb #deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] #' | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# Add Kubernetes repository for kubeadm/kubelet/kubectl (Kubernetes 1.29)
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | \
sudo gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /" | \
sudo tee /etc/apt/sources.list.d/kubernetes.list
cp /usr/share/keyrings/kubernetes-archive-keyring.gpg "$WORKDIR/kubernetes-archive-keyring.gpg"
sudo apt-get update -y
sudo apt-get install --download-only -y "${APT_PACKAGES[@]}"
@ -55,7 +50,7 @@ curl -L -o "$WORKDIR/sealos_5.0.1_linux_amd64.deb" \
https://github.com/labring/sealos/releases/download/v5.0.1/sealos_5.0.1_linux_amd64.deb
# Download nerdctl archive
nerdctl_archive="nerdctl-full-${NERDCTL_VERSION}-linux-amd64.tar.gz"
nerdctl_archive="nerdctl-${NERDCTL_VERSION}-linux-amd64.tar.gz"
curl -L -o "$WORKDIR/${nerdctl_archive}" \
"https://github.com/containerd/nerdctl/releases/download/v${NERDCTL_VERSION}/${nerdctl_archive}"