当前位置:首页 > RockyLinux > 正文

RockyLinux Kubernetes集群部署(手把手教你从零搭建高可用K8s集群)

在当今云原生时代,Kubernetes(简称 K8s)已成为容器编排的事实标准。而 RockyLinux 作为 CentOS 的继任者,以其稳定性、兼容性和社区支持,成为部署企业级 Kubernetes 集群的理想操作系统。本教程将面向初学者,详细讲解如何在 RockyLinux 上从零开始部署一个高可用的 Kubernetes 集群。

一、环境准备

我们需要至少三台 RockyLinux 服务器(建议使用 RockyLinux 9.x),配置如下:

  • 1 台控制平面节点(Master):2核CPU / 2GB内存 / 20GB硬盘
  • 2 台工作节点(Worker):2核CPU / 2GB内存 / 20GB硬盘
  • 所有节点需可联网,并能互相通信(关闭防火墙或开放必要端口)
RockyLinux Kubernetes集群部署(手把手教你从零搭建高可用K8s集群) Kubernetes集群部署  Rocky Linux安装Kubernetes Kubernetes高可用集群搭建 容器编排系统部署教程 第1张

二、在所有节点上执行基础配置

以下操作需在所有节点(包括 Master 和 Worker)上执行。

1. 关闭防火墙与 SELinux(生产环境建议配置规则而非完全关闭)

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 文件

例如在 Master 节点执行:

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 组件

在所有节点上安装 kubelet、kubeadm 和 kubectl。

1. 添加 Kubernetes 官方仓库

cat <

2. 安装 kubelet、kubeadm、kubectl

sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetessudo systemctl enable --now kubelet

四、初始化 Master 节点

仅在 Master 节点执行以下命令。

sudo kubeadm init \  --pod-network-cidr=10.244.0.0/16 \  --apiserver-advertise-address=192.168.1.10

初始化成功后,会输出类似如下的 join 命令,请保存好,用于后续 Worker 节点加入集群。

配置 kubectl 使用权限:

mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config

五、安装 CNI 网络插件(Flannel)

Kubernetes 需要 CNI 插件来实现 Pod 间通信。这里我们使用 Flannel。

kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

六、Worker 节点加入集群

在每个 Worker 节点上运行之前 kubeadm init 输出的 join 命令,例如:

sudo kubeadm join 192.168.1.10:6443 \  --token abcdef.0123456789abcdef \  --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

七、验证集群状态

回到 Master 节点,执行:

kubectl get nodes

如果看到所有节点状态为 Ready,说明你的 RockyLinux Kubernetes集群部署 成功了!

总结

通过本教程,你已经掌握了在 RockyLinux 上部署 Kubernetes 集群的核心步骤。无论是学习 Kubernetes高可用集群搭建,还是实践 容器编排系统部署教程,这都是一个坚实的基础。后续你可以尝试部署 Ingress Controller、持久化存储、监控系统等进阶组件。

关键词提示:本文覆盖了 RockyLinux Kubernetes集群部署Rocky Linux安装KubernetesKubernetes高可用集群搭建容器编排系统部署教程 等核心 SEO 关键词。