1. 项目概述
最近在Rocky Linux 9.7上部署Kubernetes v1.33集群时,发现大多数教程都基于包管理器安装,而二进制部署的资料相对零散。经过多次实践,我整理出一套完整的二进制部署方案,特别适合需要定制化环境或离线部署的场景。这次部署采用containerd作为容器运行时,Flannel作为网络插件,整个过程涉及系统调优、组件安装和集群初始化等多个环节。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备
2.1 系统要求
本次部署使用两台Rocky Linux 9.7最小化安装的服务器:
- 控制平面节点:192.168.182.11 (hostname: work)
- 工作节点:192.168.182.22 (hostname: node)
硬件配置建议:
- 控制平面:至少2核CPU、4GB内存、50GB磁盘
- 工作节点:根据实际负载需求配置
特别注意:Kubernetes 1.33对系统内核有特定要求,建议使用5.4以上内核版本。可以通过
uname -r命令验证。
2.2 基础环境配置
2.2.1 主机名与hosts配置
在所有节点执行:
bash复制hostnamectl set-hostname work # 控制平面节点执行
hostnamectl set-hostname node # 工作节点执行
cat >> /etc/hosts <<EOF
192.168.182.11 work
192.168.182.22 node
EOF
2.2.2 关闭Swap和SELinux
Kubernetes要求必须禁用Swap:
bash复制swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
2.2.3 防火墙配置
如果不需要防火墙,可以直接关闭:
bash复制systemctl stop firewalld && systemctl disable firewalld
或者放行必要端口:
bash复制firewall-cmd --permanent --add-port=6443/tcp
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --reload
2.3 内核参数调优
加载必要内核模块:
bash复制cat <<EOF > /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
modprobe overlay br_netfilter
配置网络参数:
bash复制cat > /etc/sysctl.d/k8s.conf << EOF
ne
