温馨提示×

离线能部署CentOS K8s吗

小樊
42
2026-08-31 00:31:30
栏目: 智能运维

可以的。CentOS 上可以离线部署 Kubernetes(K8s),但确实会比在线部署麻烦很多,需要提前把 软件包、镜像、依赖 都准备好。下面给你一个现实可行、企业常用的方案说明。


一、结论先行

可以离线部署 K8s
CentOS 7 / CentOS Stream 8/9 都可以
⚠️ CentOS 7 已 EOL,建议新环境用 Rocky / Alma / CentOS Stream
✅ 常见离线方案:

  • 二进制方式(最可控)
  • kubeadm + 离线镜像 + 本地 yum 源
  • Rancher / KubeKey(支持离线)

二、离线部署前提条件

你需要提前准备一台 能联网的机器,用于:

  1. 下载 K8s 组件
  2. 下载系统依赖
  3. 导出 Docker / containerd 镜像
  4. 打包后拷贝到离线环境

三、常见离线部署方案对比

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

适合:标准 K8s 集群

主要步骤

  1. 准备离线 yum 源

    • 下载:
      • docker / containerd
      • kubeadm / kubelet / kubectl
      • 系统依赖(socat、conntrack、ipset 等)
  2. 导出 K8s 镜像

kubeadm config images list
docker pull <image>
docker save -o k8s-images.tar <image>
  1. 离线节点导入镜像
docker load -i k8s-images.tar
  1. kubeadm init
kubeadm init --pod-network-cidr=10.244.0.0/16

✅ 优点:官方方案
❌ 缺点:镜像多、步骤多


✅ 方案二:二进制部署(企业/生产常用)

适合:对版本、安全、可控性要求高

  • 手动下载:
    • etcd
    • kube-apiserver
    • kube-controller-manager
    • kube-scheduler
    • kubelet
  • 手动生成证书
  • 手动写 systemd 服务

✅ 优点:稳定、可控
❌ 缺点:复杂、维护成本高


✅ 方案三:KubeKey(强烈推荐)

适合:内网 / 离线 / 快速交付

KubeKey 是 KubeSphere 提供的离线 K8s 安装工具

特点

  • 支持 CentOS / Rocky / Ubuntu
  • 支持 完全离线
  • 一条命令生成离线包

示例

# 联网机器
kk create cluster --with-kubernetes v1.28.8 --with-local-storage

离线包拷贝到目标机器后:

kk create cluster -f config.yaml

✅ 优点:简单、省事
✅ 支持离线、多节点
❌ 偏集成方案


四、系统建议(非常重要)

项目 建议
OS ✅ Rocky 8/9 / Alma / CentOS Stream
内核 ≥ 4.18
网络 提前规划 Pod / Service CIDR
容器运行时 containerd(推荐)
防火墙 firewalld / iptables 统一处理

五、离线部署的关键难点

  1. 镜像版本必须完全匹配
  2. 系统依赖容易遗漏
  3. 内核参数(如 bridge-nf-call-iptables)
  4. 证书有效期
  5. 时间同步(NTP)

六、如果你愿意,我可以帮你

你可以直接告诉我:

  1. ✅ CentOS 具体版本(7 / Stream 8 / 9)
  2. ✅ 是否必须离线(完全断网 or 少量联网)
  3. ✅ K8s 版本要求
  4. ✅ 单节点 / 多 master / 高可用
  5. ✅ 用途(学习 / 生产 / 政企内网)

我可以给你:

  • 一步一步的离线部署清单
  • 镜像列表
  • 离线 yum 源方案
  • 完整命令脚本

你现在是用于 学习测试 还是 生产环境

0