温馨提示×

centos安装k8s需要啥条件

小樊
35
2025-12-05 22:01:16
栏目: 智能运维

CentOS 安装 Kubernetes 的必备条件

一 硬件与系统

  • 节点规模
    • 学习/测试:至少 1 台(单节点,控制面与工作负载同机)。
    • 高可用:建议 3 台及以上(如 1 主 2 从)。
  • 硬件基线(单台)
    • CPU:≥2 核(推荐 4 核+)。
    • 内存:≥2 GB(推荐 4–8 GB+,生产更高)。
    • 存储:≥20 GB(推荐 30–100 GB+,有镜像/日志与应用负载建议更大)。
    • 磁盘类型:优先 SSD(提升镜像拉取与容器 IO)。
  • 操作系统
    • 推荐 CentOS Stream 8/9Rocky Linux 8/9;如使用 CentOS 7,需确认内核与仓库可用性(社区已转向 Stream/Rocky)。
  • 网络
    • 节点间 互通,并可访问外网以下载镜像与依赖;建议固定 IP 与主机名。

二 系统与内核参数

  • 基础配置
    • 禁用 Swap:swapoff -a 并注释 /etc/fstab 中的 swap 行。
    • SELinux:可临时 setenforce 0,并在 /etc/selinux/config 设置 SELINUX=disabled(或按策略放行)。
    • 防火墙:可临时 systemctl stop firewalld && systemctl disable firewalld;生产环境更推荐按端口放行策略替代直接关闭。
  • 内核与桥接
    • 启用桥接流量进入 iptables:创建 /etc/sysctl.d/k8s.conf,加入
      • net.bridge.bridge-nf-call-ip6tables = 1
      • net.bridge.bridge-nf-call-iptables = 1
      • net.ipv4.ip_forward = 1
    • 执行 sysctl --system 生效。
  • 容器运行时
    • 推荐 containerd(Kubernetes 原生 CRI);如使用 Docker,需将 cgroup driver 设为 systemd 以避免与 kubelet 冲突。

三 软件组件与网络

  • 软件清单
    • 在所有节点安装 kubeadm、kubelet、kubectl(版本保持一致),并启用 kubelet 开机自启。
    • 添加 Kubernetes YUM 源(可用官方或国内镜像源),安装对应版本组件。
  • 容器运行时
    • 安装并启动 containerd(或 Docker),确保与 kubelet 的 cgroup 驱动一致(优先 systemd)。
  • 网络要求
    • 节点间需开放关键端口(如 6443 API Server、10250 kubelet 等);或按安全组/防火墙策略精细放行。
    • 部署集群后安装 Pod 网络插件(如 Flannel),确保 Pod 间与节点间网络互通。

四 快速自检清单

  • 命令结果参考
    • 内核与模块:uname -r(内核较新)、lsmod | grep br_netfilter(桥接模块加载)
    • Swap:swapon --show(应无输出)
    • SELinux:getenforce(返回 Disabled/Permissive 或按策略放行)
    • 防火墙:firewall-cmd --state(应 stopped 或已放行所需端口)
    • 容器运行时:crictl ps(或 docker ps)可正常列出容器
    • 组件版本:kubeadm version、kubelet --version、kubectl version --client
  • 集群就绪
    • kubectl get nodes 显示 Ready
    • kubectl get pods -A 核心组件 Running
    • 简单连通性测试:部署一个 Nginx 并通过 NodePort 访问验证

0