REK2 搭建6节点K8S教程(一):系统准备

容器化技术作为云原生时代的基石,正在重塑现代应用的交付方式。在众多容器编排系统中,Kubernetes 以其强大的弹性和生态优势已成为事实标准。然而,对于企业用户和开发者而言,如何快速构建一个安全、高效的 Kubernetes 环境始终是落地实践中的首要挑战。


REK2 作为 Rancher 团队推出的轻量级 Kubernetes 发行版,巧妙地平衡了部署简易性与功能完整性。它通过集成 containerd 和CNI 等核心组件,并提供开箱即用的 RBAC 授权、网络策略管理、存储插件等能力,显著降低了 Kubernetes 的部署门槛。本教程将通过 3个 master 节点与两个 worker 节点的架构,配合专设的管理节点集成 Kuboard 可视化管理平台、 Harbor 私有镜像仓库及 Jenkins CI/CD 系统,为您呈现完整的 Kubernetes 生产环境搭建方案。

节点IP/hostname系统
Master110.88.88.71/k8sm1Ubuntu Server 22.04 LTS
Master210.88.88.72/k8sm2Ubuntu Server 22.04 LTS
Master310.88.88.73/k8sm3Ubuntu Server 22.04 LTS
Worker110.88.88.74/k8sn1Ubuntu Server 22.04 LTS
Worker210.88.88.75/k8sn2Ubuntu Server 22.04 LTS
ManageNode110.88.88.76/k8smgtUbuntu Server 22.04 LTS

1. 基础配置

1.1 查看系统版本

lsb_release -a

1.2 设置root密码

passwd root

1.3 更换源

默认源速度太慢或无法连接,更换为国内源。首先备份原有源,并替换为阿里云的源地址,最后更新源:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/http:\/\/cn.archive.ubuntu.com/https:\/\/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo apt update #更新源
sudo apt upgrade -y #升级已安装的软件包,注意安装好系统后不要轻易执行!

1.4 设置时区

设置好时区并确认时间,时间错误会导致系统出错。

sudo timedatectl set-timezone Asia/Shanghai #设置时区
timedatectl #检查时间

如时间检查有误请设置NTP服务,参考文章:

https://blog.procoding.cn/2025/06/24/ubuntu-20-04-%e9%85%8d%e7%bd%ae%e5%86%85%e9%83%a8%e6%97%b6%e9%97%b4%e6%9c%8d%e5%8a%a1%e5%99%a8-ntp-%e6%8c%87%e5%8d%97

1.5 设置SSH服务

需要开启root登录

sudo sh -c 'echo "PermitRootLogin yes" >> /etc/ssh/sshd_config'
sudo service ssh restart #重启SSH

1.6 设置hostname

每台机器的hostname不能冲突,使用指令设置hostname

hostnamectl set-hostname {NAME}

1.7 关闭swap

首先执行swapoff ,然后编辑/etc/fstab,注释掉/swap.img

sudo swapoff -a
sudo vim /etc/fstab
#/swap.img      none    swap    sw      0       0 注释掉这行

1.8 关闭SELinux

安装getenforce,检查selinux是否开启。如果是开启状态需要关闭。

sudo apt install selinux-utils
getenforce #验证是否打开SElinux

1.9 检查DNS

建议使用223.5.5.5 / 223.6.6.6

sudo resolvectl status #检查DNS输出
sudo resolvectl dns {你的网卡} 223.5.5.5  # 添加DNS

1.10 检查NetworkManager

如果你的主机安装并启用了 NetworkManager,请确保将其配置为忽略 CNI 管理的接口。

sudo systemctl is-active NetworkManager #检查是否激活

如果是activate状态,在 /etc/NetworkManager/conf.d 中创建名为 rke2-canal.conf 的配置文件,内容如下:

[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:flannel*
systemctl daemon-reload && systemctl restart NetworkManager #修改后执行

1.11 关闭防火墙(Dev环境)

sudo systemctl stop firewalld && sudo systemctl disable firewalld
sudo systemctl stop ufw && sudo systemctl disable ufw 

1.12 修改IP注意事项(如需)

需要先添加配置,否则修改IP,重启后自动复原。

sudo mkdir -p /etc/cloud/cloud.cfg.d
echo 'network: {config: disabled}' | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
vi /etc/netplan/50-cloud-init.yaml #修改IP
sudo netplan apply #立即生效

1.13 关闭系统更新

#建议关闭系统自动更新 否则会自动更新驱动导致驱动重启故障
sudo sed -i 's/1/0/g' /etc/apt/apt.conf.d/10periodic
sudo sed -i 's/1/0/g' /etc/apt/apt.conf.d/20auto-upgrades

本系列教程参考文献:

https://docs.rke2.io/zh/install/quickstart

https://blog.csdn.net/a772304419/article/details/134453934

https://kingsd.top/2024/01/30/rke2-ha-install-for-nginx

https://blog.csdn.net/2301_77278033/article/details/148344559

https://blog.csdn.net/waitdeng/article/details/139012919

https://blog.csdn.net/cl18707602767/article/details/132641657

REK2 搭建6节点K8S教程(二):HAProxy + Keepalived 高可用 REK2 搭建6节点K8S教程(四):K8S可视化管理工具 REK2 搭建6节点K8S教程(三):RKE节点安装
View Comments
There are currently no comments.