RKE2 技术教程:从核心功能到深度配置
2026-03-30 11:09:07作者:胡易黎Nicole
一、核心功能解析
1.1 项目架构图解
RKE2 采用分层架构设计,主要包含以下核心模块:
资源层
- charts/:存储 RKE2 所需的 Helm 图表,用于应用部署与管理
- images/:包含 RKE2 运行所需的容器镜像定义
工具链
- scripts/:提供安装、构建、测试等各类自动化脚本
- package/:包含打包配置与分发相关文件
核心组件
- pkg/:核心功能代码实现,包括认证、引导、控制器等模块
- main.go:应用程序入口文件
测试体系
- tests/:包含单元测试、集成测试和端到端测试用例
1.2 核心服务解析
RKE2 系统由两个关键服务组成:
rke2-server 服务
- 功能:负责管理 Kubernetes 集群控制平面,包括 API Server、etcd、Controller Manager 等核心组件
- 位置:
bundle/lib/systemd/system/rke2-server.service
rke2-agent 服务
- 功能:运行在工作节点,负责容器运行时、网络插件等组件的管理
- 位置:
bundle/lib/systemd/system/rke2-agent.service
服务交互逻辑:
- Server 节点启动后生成集群配置和证书
- Agent 通过 token 向 Server 注册并获取配置
- Server 与 Agent 保持持续通信,实现集群状态同步
检查点:rke2-server 和 rke2-agent 服务分别负责什么功能?它们之间如何交互?
二、快速上手指南
2.1 环境准备
硬件要求
- 最低配置:2 CPU 核心,4GB 内存,20GB 磁盘空间
- 操作系统:Linux 发行版(推荐 Ubuntu 20.04+、CentOS 8+)
获取源码
git clone https://gitcode.com/gh_mirrors/rk/rke2 # 克隆项目仓库
cd rke2 # 进入项目目录
2.2 服务安装与启动
安装 RKE2
sudo ./install.sh # 执行安装脚本
启动服务
sudo systemctl start rke2-server.service # 启动 server 服务
sudo systemctl enable rke2-server.service # 设置开机自启
服务状态查询
systemctl status rke2-server.service # 查看 server 服务状态
journalctl -u rke2-server.service -f # 实时查看 server 服务日志
添加工作节点
- 在 server 节点获取加入命令:
/var/lib/rancher/rke2/bin/kubectl get nodes # 查看节点状态
- 在 agent 节点执行加入命令:
sudo ./install.sh agent --server https://<server-ip>:9345 --token <server-token> # 加入集群
检查点:如何验证 RKE2 server 服务是否正常启动?如何查看服务日志?
三、深度配置详解
3.1 配置文件说明
RKE2 的主配置文件位于 /etc/rancher/rke2/config.yaml,支持 YAML 格式配置。
3.2 常用配置项(按使用频率排序)
| 配置项 | 默认值 | 推荐值 | 适用场景 |
|---|---|---|---|
write-kubeconfig-mode |
"0600" | "0644" | 需要多用户访问 kubeconfig 时 |
node-label |
[] | ["env=prod", "role=worker"] | 为节点添加标签以便调度 |
tls-san |
[] | ["cluster.example.com"] | 需要通过域名访问集群时 |
cni |
"calico" | "calico" | 默认 CNI 插件,也可选择 flannel |
disable |
[] | ["traefik"] | 需要禁用内置组件时 |
etcd-expose-metrics |
false | true | 需要监控 etcd 性能时 |
3.3 实用配置示例场景
场景一:多节点集群配置
server: https://192.168.1.100:9345
token: my-secret-token
node-label:
- "environment=production"
- "node-type=worker"
场景二:自定义网络配置
cni: calico
calico:
vxlanInterface: eth1
mtu: 1450
node-ip: 192.168.1.101
场景三:高可用配置
server: https://192.168.1.100:9345,https://192.168.1.101:9345,https://192.168.1.102:9345
token: my-secret-token
etcd-expose-metrics: true
3.4 常见错误排查
[!TIP] 配置文件权限问题:确保
/etc/rancher/rke2/config.yaml权限设置为 0600,否则会导致服务启动失败解决方案:
sudo chmod 0600 /etc/rancher/rke2/config.yaml
[!TIP] 端口占用问题:RKE2 需要使用 6443、9345 等端口,若被占用会导致启动失败
解决方案:使用
netstat -tulpn检查端口占用情况,关闭占用进程或修改 RKE2 端口配置
检查点:在高可用配置场景下,配置文件中需要包含哪些关键参数?如何解决常见的配置文件权限问题?
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust085- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
Hy3-previewHy3 preview 是由腾讯混元团队研发的2950亿参数混合专家(Mixture-of-Experts, MoE)模型,包含210亿激活参数和38亿MTP层参数。Hy3 preview是在我们重构的基础设施上训练的首款模型,也是目前发布的性能最强的模型。该模型在复杂推理、指令遵循、上下文学习、代码生成及智能体任务等方面均实现了显著提升。Python00
项目优选
收起
暂无描述
Dockerfile
693
4.48 K
Ascend Extension for PyTorch
Python
554
676
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
462
85
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
955
933
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
410
330
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.59 K
930
昇腾LLM分布式训练框架
Python
147
175
Oohos_react_native
React Native鸿蒙化仓库
C++
336
387
暂无简介
Dart
940
235
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
653
232