在当今云原生时代,Kubernetes(简称 K8s)已成为容器编排的事实标准。而 RockyLinux 作为 CentOS 的继任者,以其稳定性、兼容性和社区支持,成为部署企业级 Kubernetes 集群的理想操作系统。本教程将面向初学者,详细讲解如何在 RockyLinux 上从零开始部署一个高可用的 Kubernetes 集群。
一、环境准备
我们需要至少三台 RockyLinux 服务器(建议使用 RockyLinux 9.x),配置如下:
1 台控制平面节点(Master):2核CPU / 2GB内存 / 20GB硬盘 2 台工作节点(Worker):2核CPU / 2GB内存 / 20GB硬盘 所有节点需可联网,并能互相通信(关闭防火墙或开放必要端口)
二、在所有节点上执行基础配置
以下操作需在所有节点(包括 Master 和 Worker)上执行。
1. 关闭防火墙与 SELinux(生产环境建议配置规则而非完全关闭)
例如在 Master 节点执行: 在所有节点上安装 kubelet、kubeadm 和 kubectl。 仅在 Master 节点执行以下命令。 初始化成功后,会输出类似如下的 join 命令,请保存好,用于后续 Worker 节点加入集群。 配置 kubectl 使用权限: Kubernetes 需要 CNI 插件来实现 Pod 间通信。这里我们使用 Flannel。 在每个 Worker 节点上运行之前 kubeadm init 输出的 join 命令,例如: 回到 Master 节点,执行: 如果看到所有节点状态为 通过本教程,你已经掌握了在 RockyLinux 上部署 Kubernetes 集群的核心步骤。无论是学习 Kubernetes高可用集群搭建,还是实践 容器编排系统部署教程,这都是一个坚实的基础。后续你可以尝试部署 Ingress Controller、持久化存储、监控系统等进阶组件。 关键词提示:本文覆盖了 RockyLinux Kubernetes集群部署、Rocky Linux安装Kubernetes、Kubernetes高可用集群搭建 和 容器编排系统部署教程 等核心 SEO 关键词。sudo systemctl stop firewalldsudo systemctl disable firewalldsudo setenforce 0sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config 2. 禁用 swap
sudo swapoff -asudo sed -i '/ swap / s/^/#/' /etc/fstab 3. 配置主机名与 hosts 文件
sudo hostnamectl set-hostname k8s-master# 在 /etc/hosts 中添加(根据实际IP修改)echo "192.168.1.10 k8s-master" | sudo tee -a /etc/hostsecho "192.168.1.11 k8s-worker1" | sudo tee -a /etc/hostsecho "192.168.1.12 k8s-worker2" | sudo tee -a /etc/hosts 4. 安装 Docker 与 containerd
# 安装必要工具sudo dnf install -y yum-utils device-mapper-persistent-data lvm2# 添加 Docker 仓库sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 安装 containerdsudo dnf install -y containerd.io# 配置 containerdsudo mkdir -p /etc/containerdsudo containerd config default | sudo tee /etc/containerd/config.toml# 修改 SystemdCgroup 为 truesudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml# 启动 containerdsudo systemctl enable --now containerd 三、安装 Kubernetes 组件
1. 添加 Kubernetes 官方仓库
cat <2. 安装 kubelet、kubeadm、kubectl
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetessudo systemctl enable --now kubelet 四、初始化 Master 节点
sudo kubeadm init \ --pod-network-cidr=10.244.0.0/16 \ --apiserver-advertise-address=192.168.1.10 mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config 五、安装 CNI 网络插件(Flannel)
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml 六、Worker 节点加入集群
sudo kubeadm join 192.168.1.10:6443 \ --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 七、验证集群状态
kubectl get nodes Ready,说明你的 RockyLinux Kubernetes集群部署 成功了!总结
