RKE2上手指南:从零搭建K8S集群
1 什么是RKE2?为什么选择它?
RKE2(也称作RKE Government)是一个完全符合标准的Kubernetes发行版,由Rancher社区开发,特别注重安全性和合规性。它被设计为能在各种基础设施环境中运行,从本地数据中心到边缘环境,甚至空气间隙网络(air-gapped environments)。对于刚开始接触Kubernetes运维的初学者来说,RKE2提供了一个"开箱即用"的解决方案,极大地简化了Kubernetes集群的部署和管理复杂度。
与原始Kubernetes或其他发行版相比,RKE2具有几个显著优势:
- 默认符合CIS安全基准,减少了安全加固的工作量;
- 集成了etcd作为默认存储,提供了高可用的数据存储方案;
- 支持多种CNI网络插件(如Canal、Calico、Cilium等),满足不同场景的网络需求。更重要的是,RKE2将所有依赖项(包括容器运行时、网络插件等)都打包在一起,避免了繁琐的组件兼容性调试,让我们运维人员能够专注于应用部署而非底层基础设施维护。
2 安装前的准备工作
2.1 环境要求
在开始安装RKE2之前,需要确保你的环境满足以下基本要求:
- 操作系统:主流Linux发行版(Ubuntu、CentOS、RHEL、SLES等),建议使用最新稳定版本
- 硬件资源:至少2核CPU、4GB内存(生产环境建议4核CPU、8GB内存以上)
- 磁盘空间:至少40GB可用空间
- 网络:确保节点间网络连通,开放必要的端口(6443用于Kubernetes API,9345用于节点注册等)
- 权限要求:必须使用root用户或通过sudo执行安装命令
2.2 系统配置
在开始安装前,需要进行一些关键的系统配置,以确保RKE2能够正常运行。
配置NetworkManager:如果你的系统使用NetworkManager,需要配置它忽略CNI管理的网络接口,避免网络路由冲突。创建配置文件/etc/NetworkManager/conf.d/rke2-canal.conf,内容如下:
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:flannel*
完成配置后,重新加载NetworkManager使配置生效:
systemctl reload NetworkManager
处理防火墙:Firewalld与RKE2的默认Canal网络堆栈存在冲突,建议在运行RKE2的系统上禁用firewalld:
# 生产环境不建议哈
systemctl stop firewalld
systemctl disable firewalld
如果你不能完全禁用防火墙,需要确保开放RKE2所需的端口,包括Kubernetes API端口6443、节点注册端口9345,以及NodePort服务端口范围30000-32767等。
配置内核参数:为确保网络转发正常工作,特别是使用Wicked网络配置的系统上,需要配置正确的sysctl参数。创建文件/etc/sysctl.d/90-rke2.conf,内容如下:
net.ipv4.conf.all.forwarding=1
net.ipv6.conf.all.forwarding=1
应用配置:sysctl -p /etc/sysctl.d/90-rke2.conf
3 RKE2安装步骤
3.1 安装Server节点
Server节点是RKE2集群的控制平面,负责集群管理和协调。安装步骤如下:
-
使用安装脚本安装Server:
curl -sfL https://get.rke2.io | sh -# 可以使用国内镜像加速安装: curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh - -
启用并启动rke2-server服务:
systemctl enable rke2-server.service systemctl start rke2-server.service -
检查服务状态:
systemctl status rke2-server.service如需查看详细日志,可使用:
journalctl -u rke2-server -f
安装完成后,RKE2会完成以下自动化配置:
- 将
rke2-server服务设置为系统服务,并配置自动重启 - 安装实用工具到
/var/lib/rancher/rke2/bin/目录,包括kubectl、crictl和ctr - 生成kube-config文件到
/etc/rancher/rke2/rke2.yaml - 在
/var/lib/rancher/rke2/server/node-token创建节点注册令牌
3.2 安装Agent(Worker)节点
Agent节点负责运行工作负载,连接到Server节点形成集群。安装步骤如下:
-
使用安装脚本安装Agent:
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -# 咱们可以使用国内镜像 curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_TYPE="agent" sh - -
创建配置文件:
在安装Agent后,需要创建配置文件指定如何连接到Server节点:mkdir -p /etc/rancher/rke2/ vim /etc/rancher/rke2/config.yaml配置文件内容示例:
server


3375

被折叠的 条评论
为什么被折叠?



