温馨提示×

Debian上K8S部署需要什么条件

小樊
39
2025-12-30 18:57:07
栏目: 智能运维

Debian 上部署 Kubernetes 的必备条件

一 硬件与系统基线

  • 操作系统建议使用 Debian 12(Bookworm)或更高版本,内核不低于 3.10
  • 资源基线(不同场景建议):
    • 单节点开发:2 核 CPU / 4GB 内存 / 20GB 存储
    • 多节点实验:4 核 CPU / 8GB 内存 / 40GB 存储
    • 生产环境:8 核+ CPU / 16GB+ 内存 / 100GB+ 存储
  • 具备 sudo 权限 的管理员账户与 稳定网络(节点间互通)。

二 容器运行时与系统内核网络

  • 容器运行时(二选一,推荐 containerd):
    • containerd:安装并启用服务,完成基础配置。
    • Docker(可选):安装 docker-ce / docker-ce-cli / containerd.io
  • 内核模块与 sysctl(桥接与转发):
    • 加载模块:overlay、br_netfilter
    • 启用转发与桥接流量入 iptables:
      • net.bridge.bridge-nf-call-iptables = 1
      • net.bridge.bridge-nf-call-ip6tables = 1
      • net.ipv4.ip_forward = 1
  • 说明:Debian 默认无 SELinux,无需额外关闭步骤。

三 网络连通与防火墙端口

  • 节点互通:所有节点在同一网络,建议配置 静态 IP主机名解析(/etc/hosts 或 DNS)
  • 常见端口(示例以 UFW 放行,云环境请同步放通安全组):
    • 控制面与节点通信:6443/TCP(API Server)2379-2380/TCP(etcd)10250/TCP(kubelet)10251/TCP(kube-scheduler)10252/TCP(kube-controller-manager)10255/TCP(kubelet 只读)
    • 节点间/管理:22/TCP(SSH)
  • 提示:如使用 Flannel/VXLAN,需确保 8472/UDP 在节点间可达。

四 软件源与组件版本匹配

  • 添加 Kubernetes APT 仓库(推荐新版 keyring 方式,示例为 v1.29,可按需替换版本):
    • 安装签名密钥:
      • sudo mkdir -p -m 755 /etc/apt/keyrings
      • curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
    • 添加源:
      • echo ‘deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /’ | sudo tee /etc/apt/sources.list.d/kubernetes.list
  • 安装并锁定版本:kubelet、kubeadm、kubectl,保持三者版本一致或遵循兼容规则(如 kubelet 版本不高于 API Server,允许相差一个次要版本)。

五 初始化前的关键准备

  • 关闭 Swap:
    • 临时:sudo swapoff -a
    • 永久:注释 /etc/fstab 中的 swap 行
  • 主机名与解析:
    • hostnamectl 设置唯一主机名
    • /etc/hosts 添加 “IP 主机名” 映射
  • 时间同步:启用 NTP/chrony,保证节点时间一致
  • 镜像与拉取:提前准备或配置镜像仓库,确保 kubeadm 所需镜像可拉取(如国内可配置镜像加速)。

0