Debian 部署 Kubernetes 的依赖清单
一 系统与硬件依赖
- 操作系统建议使用 Debian 12(Bookworm) 或更高版本,内核保持较新稳定版以获得更好的容器与网络特性支持。
- 硬件最低建议:控制平面节点至少 2 核 CPU / 2GB 内存 / 20GB 磁盘;工作节点建议 4 核 CPU / 8GB 内存 / 40GB 磁盘(生产环境酌情提升)。
- 基础工具与标识:安装 ca-certificates、curl、gnupg、lsb-release、apt-transport-https、software-properties-common 等 APT 基础依赖;确保各节点 MAC 地址 与 product_uuid 唯一(避免虚拟机克隆冲突);所有节点间网络互通且时间同步(建议启用 NTP)。
二 容器运行时与系统服务
- 容器运行时:安装并启用 containerd(推荐)或 Docker Engine。常见做法为安装 Docker 包组(包含 containerd.io),或直接使用系统 containerd 包;启动并设置开机自启:
- systemctl enable --now containerd
- 如使用 Docker:systemctl enable --now docker
- 可选网络工具:为后续 kube-proxy 的 IPVS 模式准备 ipvsadm、ipset;系统观测可备 sysstat、conntrack;容器安全与兼容性依赖 libseccomp2。
- 说明:Kubernetes 支持多种符合 CRI 的运行时,生产环境普遍采用 containerd。
三 内核模块与网络参数
- 加载内核模块:
- overlay(容器分层)
- br_netfilter(桥接流量进入 iptables)
- 启用桥接与转发:
- net.bridge.bridge-nf-call-iptables = 1
- net.ipv4.ip_forward = 1
- 使配置生效:
- 这些设置确保 Pod 网络、服务转发与跨主机通信正常工作。
四 Kubernetes 组件与仓库
- APT 源与 GPG:安装 apt-transport-https、ca-certificates、curl 后,添加 Kubernetes APT 仓库(示例:deb https://apt.kubernetes.io/ kubernetes-xenial main),导入 GPG 并更新索引。
- 核心组件:在所有节点安装 kubelet、kubeadm、kubectl,并使用 apt-mark hold 固定版本,避免被系统升级干扰:
- apt install -y kubelet kubeadm kubectl
- apt-mark hold kubelet kubeadm kubectl
- 用途简述:kubeadm 负责集群引导,kubelet 运行节点上 Pod,kubectl 为集群管理 CLI。
五 网络与防火墙要求
- 常见端口需放通(按实际网络策略调整):
- 6443(Kube-apiserver)
- 2379–2380(etcd)
- 10250(kubelet API)
- 10251(kube-scheduler)
- 10252(kube-controller-manager)
- 30000–32767(NodePort 服务)
- 集群网络:部署 Pod 网络插件(如 Calico、Flannel)以实现跨节点 Pod 通信;初始化时通过 --pod-network-cidr 指定网段(示例:10.244.0.0/16 或 192.168.0.0/16,需与所选插件一致)。