温馨提示×

centos部署k8s必须联网吗

小樊
48
2026-09-24 14:48:23
栏目: 智能运维

CentOS 上部署 Kubernetes,并不是“运行时必须一直联网”,但部署过程通常需要联网(或提前准备好离线资源)。

下面分情况说明:


一、必须联网的情况(常见)

1. 使用官方/社区工具部署(kubeadm 等)

如果你用 kubeadm 部署:

  • 需要下载:
    • kubeadm / kubelet / kubectl 的 RPM 包
    • 容器运行时(docker / containerd)
    • Kubernetes 系统组件镜像(如 k8s.gcr.io 或国内镜像)
  • 默认会从:
    • yum 源
    • 镜像仓库
    • GitHub / 官方文档

部署阶段一般必须联网


2. 拉取容器镜像

K8s 控制面组件本身是容器:

  • kube-apiserver
  • etcd
  • kube-controller-manager
  • kube-scheduler

这些镜像默认需要从镜像仓库拉取。


二、可以完全离线部署(但需提前准备)

方式 1:离线 RPM 包

提前在有网环境:

yum install --downloadonly kubelet kubeadm kubectl

然后拷贝到目标机安装。

方式 2:离线镜像

docker pull k8s.gcr.io/kube-apiserver:v1.29.0
docker save > kube-apiserver.tar

目标机:

docker load < kube-apiserver.tar

方式 3:私有镜像仓库

  • 搭建 Harbor / Nexus
  • kubeadm 使用 --image-repository

三、部署完成后是否还需要联网?

正常运行阶段可以不联网

只要:

  • 镜像已存在
  • 不拉取新镜像
  • 不使用公网 DNS / 外部服务

K8s 集群可以 完全内网运行


四、结论

场景 是否必须联网
使用 kubeadm 在线部署 ✅ 必须
离线 RPM + 镜像 ❌ 不需要
集群正常运行 ❌ 不需要
拉取新镜像 / 扩展组件 ✅ 需要

如果你愿意,我可以:

  • 给你一套 CentOS 离线部署 K8s 步骤
  • 最小化联网部署方案
  • 或针对 生产 / 内网环境给建议

你现在是哪种使用场景?

0