温馨提示×

CentOS上K8S安装需要注意什么

小樊
45
2025-11-16 04:08:53
栏目: 智能运维

CentOS 上安装 Kubernetes 的关键注意事项

一 系统与版本兼容

  • 选择受支持的 CentOS 7.6+(或 8.x)作为基础系统,内核建议 ≥ 3.10;如条件允许,优先使用 CentOS Stream 8/9 或迁移至 Rocky/AlmaLinux 以获得更长期的支持与安全更新。
  • 明确 Kubernetes 版本与组件(kubelet/kubeadm/kubectl)的对应关系,避免跨大版本混用;安装前用 kubeadm versionyum list --showduplicates kubelet 核对可用版本。
  • 容器运行时建议采用 containerd(Kubernetes 1.24+ 默认已移除 dockershim,若坚持使用 Docker,需通过 cri-dockerd 适配)。

二 基础环境与安全基线

  • 主机规划:设置唯一 hostname/etc/hosts 解析;建议固定 静态 IP,保证节点间 互通 且可访问外网(拉取镜像)。
  • 必备前置:
    • 禁用 Swapswapoff -a 并注释 /etc/fstab 中的 swap 行;
    • 内核网络参数:开启桥接流量经 iptables 规则生效;
    • 时间同步:启用 NTP/chrony,避免证书校验与调度异常。
  • 防火墙与 SELinux:
    • 测试环境可临时关闭 firewalldSELinux 以简化排障;
    • 生产环境不建议直接关闭,应基于业务需要精细化放行端口并配置 SELinux 策略以允许 kubelet/容器运行。

三 网络与端口规划

  • 规划 Service CIDRPod CIDR,避免与宿主机网段及现有网络冲突;常见组合如 10.96.0.0/12(Service)与 10.244.0.0/16(Pod,Flannel 常用)。
  • 放行关键端口(示例):
    • 控制面:6443(kube-apiserver)、2379-2380(etcd)、10250(kubelet API)、10251(kube-scheduler)、10252(kube-controller-manager);
    • 节点间与 Pod 网络:依据 CNI 插件要求放行 VxLAN/Host-GW 等所需端口与转发规则。
  • 选择并尽早部署 CNI 插件(如 Calico、Flannel、Weave),确保 Pod 间与跨节点通信正常。

四 初始化与高可用

  • 使用 kubeadm init 初始化控制面:
    • 单控制面可指定 --pod-network-cidr--apiserver-advertise-address
    • 多控制面/云上环境建议使用 --control-plane-endpoint--upload-certs,便于多 Master 证书分发与 API 入口统一。
  • 记录生成的 join 命令(token 与 CA 证书哈希),在 Worker 节点执行加入;token 默认 24 小时有效,过期需重新生成。
  • 高可用建议:至少 3 个控制平面节点 组成 etcd 集群,前置 负载均衡器(VIP/HAProxy/Nginx)对外暴露 6443

五 镜像拉取与常见问题排查

  • 国内环境优先配置 镜像加速Kubernetes YUM 镜像源,加速 kubeadm init 阶段的镜像拉取;必要时使用 kubeadm config images pull 预拉取。
  • 常见报错与对策:
    • “节点 NotReady”多因 CNI 未部署Pod CIDR 冲突
    • “ImagePullBackOff”检查镜像仓库可达性与镜像名称;
    • “kubelet 启动失败”核对 cgroup 驱动(systemd)、Swap 关闭内核参数时间同步
    • “证书错误”检查 系统时间API 地址kubeconfig

0