温馨提示×

k8s在centos的安装最佳时机

小樊
44
2026-01-08 05:58:48
栏目: 智能运维

Kubernetes 在 CentOS 上的安装最佳时机

一、选择操作系统与内核的时机

  • 新建集群应优先选用CentOS Stream 8/9或兼容的Rocky/AlmaLinux 8/9,可更好匹配新版 Kubernetes 对内核与网络栈的要求。
  • CentOS 7.9已于2024-06-30停止维护,内核多为3.10;若必须沿用,建议内核升级至≥4.19(推荐 6.5+),否则更稳妥的做法是迁移至 Stream 8/9 或 Rocky/AlmaLinux 8/9。
  • 版本上限建议:CentOS 7.9 控制在≤ v1.27.x;CentOS Stream 8/9 与 Rocky/AlmaLinux 8/9 更适合v1.28–v1.31,具体以所用网络插件与容器运行时的兼容矩阵为准。

二、选择 Kubernetes 小版本的时机

  • 生产环境优先选择稳定小版本(X.Y.Z),并统一集群版本,避免混用;例如选择v1.26.x这类社区验证充分的稳定分支。
  • 结合上节的 OS 矩阵:
    • CentOS 7.9:≤ v1.27.x
    • CentOS Stream 8/9、Rocky/AlmaLinux 8/9:v1.28–v1.31
  • 规划升级时遵循逐级升级路径(如 1.26→1.27→1.28),避免跨大版本跳跃,以降低风险。

三、资源与网络就绪的时机

  • 节点规模与规格:至少准备3 台(建议1 个 Master + 2 个 Node),每台≥2 核 CPU、2GB 内存、30GB 磁盘,并保证节点间网络互通可访问外网(便于拉取镜像)。
  • 基础系统基线:
    • 设置唯一主机名并在**/etc/hosts**或 DNS 完成解析;
    • 启用chrony/ntp做时间同步;
    • 配置内核参数:开启桥接流量进入 iptables 与转发(net.bridge.bridge-nf-call-iptables=1、net.bridge.bridge-nf-call-ip6tables=1、net.ipv4.ip_forward=1);
    • 禁用 Swap
    • 防火墙按等保/公司策略精细化放行端口(如6443、10250、2379–2380、10251、10252、30000–32767)。

四、容器运行时与 kubelet 配置的时机

  • 容器运行时:生产优先containerd(自v1.21起 kubelet 与 Docker 解耦,优先使用 containerd;如使用 Docker,需确保与 kubelet 的cgroup 驱动一致)。
  • containerd 启用 SystemdCgroup:
    • 加载内核模块:overlay、br_netfilter
    • 生成默认配置并启用 SystemdCgroup:
      • containerd config default | tee /etc/containerd/config.toml
      • 在 [plugins.“io.containerd.grpc.v1.cri”.containerd.runtimes.runc.options] 下设置 SystemdCgroup = true
      • systemctl restart containerd
  • kubeadm/kubelet/kubectl:添加 YUM 源,安装指定版本的 kubeadm、kubelet、kubectl,并启用 kubelet 开机自启(初始化集群前保持就绪等待)。

五、快速决策清单

  • 需要新建生产集群:现在即可在CentOS Stream 8/9 或 Rocky/AlmaLinux 8/9上部署v1.28–v1.31的稳定小版本。
  • 仍在用 CentOS 7.9:短期内可在升级内核至 ≥4.19(推荐 6.5+)的前提下维持≤ v1.27.x;更优解是规划迁移至 Stream 8/9 或 Rocky/AlmaLinux 8/9,再上v1.28+
  • 已有集群升级:按逐级升级路径执行,并提前核对CNI 插件/容器运行时的兼容矩阵与变更窗口。

0