温馨提示×

debian k8s能离线部署吗

小樊
36
2026-09-29 10:09:41
栏目: 智能运维

可以的,Debian 上完全可以离线部署 Kubernetes(k8s),而且在生产/内网环境中这是非常常见的做法。

下面给你一个清晰的总体说明和可落地思路。


一、离线部署的核心思路

离线部署 k8s 的本质是:

所有需要的软件包和镜像,提前下载好,再拷到目标机器上安装

主要涉及三类资源:

  1. 系统依赖包(Debian apt)
  2. k8s 组件(kubeadm / kubelet / kubectl)
  3. 容器镜像(pause / kube-apiserver 等)

二、常见离线部署方式(推荐程度排序)

✅ 方式一:kubeadm + 离线包(最主流)

适合:

  • 标准 Debian
  • 小规模到中大规模集群
  • 官方推荐方式

步骤概览:

  1. 在一台能联网的 Debian 机器上:
    • 下载 kubeadm / kubelet / kubectl .deb
    • 导出依赖包
  2. 下载 k8s 所需镜像:
    kubeadm config images list
    docker pull <image>
    docker save <image> > xxx.tar
    
  3. 拷贝到离线机器:
    • dpkg -i *.deb
    • docker load < xxx.tar
  4. 初始化集群:
    kubeadm init --image-repository=本地仓库或离线
    

✅ 优点:官方支持,资料多
❌ 缺点:镜像和包要自己管


✅ 方式二:使用离线镜像仓库(推荐生产)

架构:

离线环境
├── 本地 Harbor / Registry
├── Debian 内网 apt 源
└── kubeadm 指向本地仓库

做法:

  • 搭建一个内网 Harbor
  • 所有 k8s 镜像提前推送到 Harbor
  • kubeadm init --image-repository=harbor.local/k8s

✅ 优点:可扩展、可维护
✅ 企业最常用


✅ 方式三:KubeKey / Sealos / Rancher RKE(更省事)

1️⃣ KubeKey(kubesphere 出品)

  • 一条命令生成离线包
kk create cluster --with-kubernetes v1.28.0
  • 支持 Debian / Ubuntu
  • 自动打包二进制 + 镜像

2️⃣ Sealos

  • 基于 Kubernetes 的“操作系统”
  • 离线包非常成熟

3️⃣ RKE(Rancher)

  • 适合 Rancher 用户
  • 配置文件驱动

✅ 优点:离线体验最好
❌ 缺点:偏离原生 kubeadm


三、Debian 离线部署注意点

1️⃣ 系统版本建议

  • Debian 11(Bullseye)✅
  • Debian 12(Bookworm)✅(新版本 k8s 支持更好)

2️⃣ 必须提前准备

  • 关闭 swap
  • 加载内核模块(br_netfilter)
  • 配置 sysctl
  • 容器运行时(containerd / docker)

3️⃣ 容器运行时建议

  • ✅ containerd(官方推荐)
  • docker 也可以,但未来趋势是 containerd

四、最小离线资源清单(示例)

k8s 1.28 常见镜像:

k8s.gcr.io/kube-apiserver
k8s.gcr.io/kube-controller-manager
k8s.gcr.io/kube-scheduler
k8s.gcr.io/kube-proxy
k8s.gcr.io/pause
k8s.gcr.io/etcd
k8s.gcr.io/coredns

Debian 包:

kubeadm
kubelet
kubectl
containerd

五、总结一句话

Debian 上 k8s 完全可以离线部署,而且非常成熟; 小环境用 kubeadm + 离线镜像,
大环境用本地仓库 + 自动化工具(KubeKey / Sealos)。


如果你愿意,可以告诉我:

  • Debian 版本
  • k8s 版本
  • 单节点 / 多节点
  • 是否允许中间有一台联网机器

我可以直接给你一步一步的离线部署命令。

0 踩