Debian 上部署 Kubernetes 的系统要求
一 操作系统版本与容器运行时
- 推荐操作系统为 Debian 12(Bookworm);Debian 11(Bullseye) 仍可使用,但需关注版本兼容性与容器运行时差异。自 Kubernetes 1.24 起,内置的 dockershim 被移除,若使用 Docker,需通过 cri-dockerd 适配;更推荐直接使用 containerd 作为容器运行时。以上选择有助于获得更好的兼容性与社区支持。
二 硬件资源最低要求
- 控制平面节点与工作节点通用的最低配置建议如下(生产环境应在此基础上提升):
- CPU:≥ 2 核
- 内存:≥ 2 GB(推荐 ≥ 4 GB)
- 存储:≥ 20 GB 可用空间
- 说明:上述为入门与功能验证的最低门槛;实际生产负载(尤其控制平面组件与容器镜像数量)通常需要更高规格以避免资源争用与性能瓶颈。
三 系统配置与网络要求
- 必做配置
- 关闭 Swap:sudo swapoff -a,并在 /etc/fstab 中注释包含 “swap” 的行,确保 kubelet 正常工作。
- 主机名与解析:为各节点设置唯一 hostname,并确保节点间可通过 主机名/IP 互相解析(如配置 /etc/hosts 或内网 DNS)。
- 容器运行时:安装并启用 containerd(或配置 Docker + cri-dockerd),确保与 kubelet 正常对接。
- 网络连通:所有节点间需 互通,并开放 Kubernetes 所需端口(如 6443、10250 等);如使用防火墙(如 ufw),需放行对应端口或临时停用以便部署与排障。
- 建议配置
- 内核与系统优化:按需加载必要内核模块并设置 sysctl 网络参数,提升容器网络与存储稳定性。
- 时间与时区:统一节点 时区 并配置 NTP 时间同步,避免证书校验与日志时间混乱。
四 生产环境补充建议
- 选用 Debian 12 作为底层系统以获得更佳兼容性与安全更新支持;如使用 Debian 11,在容器运行时与内核参数上投入更多验证工作。
- 优先采用 containerd 作为运行时,减少因 dockershim 移除带来的适配复杂度与潜在兼容风险。
- 规划合理的 网络模型与 Pod CIDR(如 Flannel 常用 10.244.0.0/16),并在部署前完成网络插件的选型与验证。