diff --git a/docs/gpu-offline-package.md b/docs/gpu-offline-package.md index 8d32248..ab9797d 100644 --- a/docs/gpu-offline-package.md +++ b/docs/gpu-offline-package.md @@ -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 CLI(v${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` 替换为目标次要版本。 diff --git a/scripts/create-gpu-k8s-offline-package.sh b/scripts/create-gpu-k8s-offline-package.sh index 29e060c..2b7227e 100755 --- a/scripts/create-gpu-k8s-offline-package.sh +++ b/scripts/create-gpu-k8s-offline-package.sh @@ -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}"