温馨提示×

能否离线部署Debian K8s

小樊
42
2026-09-17 11:31:48
栏目: 智能运维

可以的,Debian 上完全支持离线(air-gapped)部署 Kubernetes(K8s),但前提是你要提前准备好离线所需的资源。下面给你一个清晰、可落地的思路和步骤。


一、离线部署的核心思路

离线部署 K8s 的本质是:

提前在有网的机器上下载好所有依赖(系统包、容器镜像、K8s 组件),然后拷贝到离线机器安装。


二、常见离线部署方案(推荐顺序)

✅ 方案 1:kubeadm + 离线镜像(最常用)

适合:生产、学习、可控环境

1. 准备离线环境

  • 一台 有网的 Debian
  • 一台或多台 离线 Debian(目标节点)
  • U 盘 / 移动硬盘 / 内网 HTTP 服务

2. 离线安装依赖

在有网机器上:

# 下载 deb 包(不安装)
apt-get download \
  kubelet kubeadm kubectl \
  containerd docker.io

拷贝到离线机:

dpkg -i *.deb

3. 离线拉取 K8s 镜像

在有网机:

kubeadm config images list
kubeadm config images pull
docker save -o k8s-images.tar $(kubeadm config images list)

离线机:

docker load -i k8s-images.tar

4. 初始化集群

kubeadm init --image-repository=本地镜像仓库

✅ 方案 2:使用离线私有镜像仓库(推荐生产)

  • 搭建一个 内网 Harbor / Registry
  • 所有节点 containerd 指向该仓库
  • 适合多节点、长期维护

✅ 方案 3:使用发行版集成方案

  • Rancher RKE(离线包)
  • KubeSphere(离线安装包)
  • K3s(单二进制,极其适合离线)

K3s 离线示例(非常推荐)

# 下载 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 版本问题

  • 推荐使用 Debian 11 / 12
  • 内核 ≥ 5.x

⚠️ cgroup 驱动

  • containerd 使用 systemd

⚠️ 时间同步

  • 离线环境务必配置 NTP 或手动同步

五、我可以继续帮你

你可以告诉我:

  1. 单节点还是多节点
  2. kubeadm / K3s / RKE
  3. Debian 版本
  4. 是否有内网镜像仓库

我可以直接给你 一步步的离线部署脚本

0