RKE2上手指南:从零搭建K8S集群

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集群的控制平面,负责集群管理和协调。安装步骤如下:

  1. 使用安装脚本安装Server

    curl -sfL https://get.rke2.io | sh -
    
    # 可以使用国内镜像加速安装:
    curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn sh -
    
  2. 启用并启动rke2-server服务

    systemctl enable rke2-server.service
    systemctl start rke2-server.service
    
  3. 检查服务状态

    systemctl status rke2-server.service
    

    如需查看详细日志,可使用:journalctl -u rke2-server -f

安装完成后,RKE2会完成以下自动化配置:

  • rke2-server服务设置为系统服务,并配置自动重启
  • 安装实用工具到/var/lib/rancher/rke2/bin/目录,包括kubectlcrictlctr
  • 生成kube-config文件到/etc/rancher/rke2/rke2.yaml
  • /var/lib/rancher/rke2/server/node-token创建节点注册令牌

3.2 安装Agent(Worker)节点

Agent节点负责运行工作负载,连接到Server节点形成集群。安装步骤如下:

  1. 使用安装脚本安装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 -
    
  2. 创建配置文件
    在安装Agent后,需要创建配置文件指定如何连接到Server节点:

    mkdir -p /etc/rancher/rke2/
    vim /etc/rancher/rke2/config.yaml
    

    配置文件内容示例:

    server
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值