温馨提示×

centos k8s能离线部署吗

小樊
35
2026-09-21 15:04:55
栏目: 智能运维

可以的,CentOS 上的 Kubernetes(k8s)完全支持离线部署。在实际生产环境中(尤其是内网、隔离网络、涉密环境),离线部署是非常常见且成熟的做法。

下面给你一个清晰的整体说明和常见做法。


一、离线部署的核心思路

离线部署的本质是:

提前准备好所有需要的软件包和镜像,在目标机器上不依赖公网完成安装

主要涉及三类资源:

  1. 系统依赖包(CentOS 的 rpm 包)
  2. Kubernetes 组件(kubelet / kubeadm / kubectl)
  3. 容器镜像(如 k8s.gcr.io 的各组件镜像、网络插件镜像等)

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

✅ 方式一:kubeadm + 离线镜像(最常用)

适合:标准 k8s 集群

步骤概览:

  1. 在一台有网的机器上:
    • 下载 kubeadm / kubelet / kubectl rpm
    • 使用 docker pull 或 ctr images pull 拉取镜像
    • 导出镜像:docker save > k8s-images.tar
  2. 拷贝到 CentOS 离线机器
  3. 导入镜像:docker load < k8s-images.tar
  4. 使用 kubeadm init --image-repository=本地仓库 初始化

✅ 优点:官方支持、可控性强
❌ 缺点:步骤稍多


✅ 方式二:使用本地私有镜像仓库(企业最推荐)

适合:多节点、长期运维

  • 搭建一个内网 Harbor / Registry
  • 所有镜像提前同步进去
  • kubeadm 指定:
kubeadm init --image-repository=registry.local/k8s

✅ 优点:可扩展、易维护
✅ 非常适合生产环境


✅ 方式三:使用离线部署工具

常见工具:

  • sealos(国内非常流行)
  • kubekey(KubeSphere)
  • Rancher RKE

这些工具通常:

  • 一条命令离线安装
  • 自动打包镜像和依赖

例如 sealos:

sealos init \
  --passwd 'xxx' \
  --master 192.168.0.1 \
  --pkg-url kube1.28.tar.gz

✅ 优点:简单、快速
✅ 非常适合国内环境


三、CentOS 离线部署注意事项

1️⃣ 系统版本建议

  • CentOS 7(仍可用,但逐步淘汰)
  • CentOS Stream / Rocky / Alma 更推荐

2️⃣ 必须提前准备的组件

  • containerd 或 docker
  • cri-tools
  • socat、conntrack、ipset 等依赖
  • 内核参数(如 bridge-nf)

3️⃣ 网络插件也要离线

常见插件:

  • Calico
  • Flannel
  • Cilium

都需要提前下载镜像


四、简单总结

✅ CentOS 上 k8s 可以离线部署
✅ 生产环境 90% 都是离线或半离线
✅ 推荐路径:

kubeadm + 私有镜像仓库
或
sealos / kubekey 等离线工具


如果你愿意,我可以:

  • 给你一份 CentOS 7 离线 k8s 部署清单
  • 或按 单节点 / 多节点 / 生产级 给你具体步骤
  • 或帮你选 最适合你场景的方案

你现在是打算在什么环境下部署?(内网?几台机器?)

0 踩