可以的,Debian 上完全支持离线(air-gapped)部署 Kubernetes(K8s),但前提是你要提前准备好离线所需的资源。下面给你一个清晰、可落地的思路和步骤。
离线部署 K8s 的本质是:
提前在有网的机器上下载好所有依赖(系统包、容器镜像、K8s 组件),然后拷贝到离线机器安装。
适合:生产、学习、可控环境
在有网机器上:
# 下载 deb 包(不安装)
apt-get download \
kubelet kubeadm kubectl \
containerd docker.io
拷贝到离线机:
dpkg -i *.deb
在有网机:
kubeadm config images list
kubeadm config images pull
docker save -o k8s-images.tar $(kubeadm config images list)
离线机:
docker load -i k8s-images.tar
kubeadm init --image-repository=本地镜像仓库
containerd 指向该仓库# 下载 k3s 二进制
# 下载 k3s-airgap-images-amd64.tar
cp k3s /usr/local/bin/
mkdir -p /var/lib/rancher/k3s/agent/images/
cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
INSTALL_K3S_SKIP_DOWNLOAD=true k3s server
✅ Debian 基础包
✅ containerd / docker
✅ kubeadm / kubelet / kubectl
✅ K8s 系统镜像
✅ CNI 插件(flannel / calico)
✅ 内核参数 & 模块(overlay、br_netfilter)
⚠️ Debian 版本问题
⚠️ cgroup 驱动
systemd⚠️ 时间同步
你可以告诉我:
我可以直接给你 一步步的离线部署脚本。