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

RKE(Rancher Kubernetes Engine) 是什么?

RKE(Rancher Kubernetes Engine) 是什么?

核心定义

RKE是一个轻量级、高可用、100% 开源Kubernetes 发行版和安装工具。它的全称是Rancher Kubernetes Engine(在 RKE2 出现后,原 RKE 有时也被称为 RKE1)。

它的核心目标是用一种简单、快速、可重复的方式,在裸金属服务器、虚拟机、公有云或私有云实例上部署和管理生产级的 Kubernetes 集群。


核心特性与设计理念

  1. 极简与声明式

    • 整个集群的配置(包括所有组件版本、网络插件、插件配置等)都定义在一个单一的 YAML 配置文件(通常是cluster.yml)中。
    • 通过一条命令rke up,工具会根据这个文件自动完成所有节点的配置和集群的引导。修改配置后,再次运行rke up即可完成集群的升级或变更。这使得集群部署和版本控制变得非常容易。
  2. 无侵入性

    • RKE 本身不依赖 Docker。它在目标节点上通过容器化的方式运行所有 Kubernetes 组件(如kube-apiserver,kube-controller-manager,kube-scheduler,etcd等)。这意味着你只需要在节点上安装一个容器运行时(如 Docker, containerd),RKE 会处理好一切。
    • 它不会对主机操作系统做大量修改,保持了主机的“清洁”。
  3. 高可用内置

    • RKE 原生支持部署高可用(HA)的控制平面(Control Plane)和etcd集群。
    • 你可以轻松地在配置文件中指定多个控制平面节点和 etcd 节点。RKE 会自动配置负载均衡器(你需要前置配置负载均衡器,如 HAProxy、Nginx 或云负载均衡器)和节点间的证书,构建出高可用的集群架构。
  4. 灵活性

    • 运行时支持:早期主要支持 Docker,现在也完全支持containerd作为容器运行时。
    • 网络插件:支持多种 CNI 网络插件,如FlannelCalicoCanal(Calico + Flannel)、Weave等,可以在配置文件中轻松指定。
    • Ingress 控制器:默认集成并自动部署Nginx Ingress Controller
    • 存储插件:支持配置多种 CSI 驱动或云提供商存储。

工作原理与部署流程

  1. 准备节点

    • 准备若干台 Linux 主机(推荐 Ubuntu, CentOS, RHEL 等)。
    • 在每个节点上安装支持的容器运行时(如 Docker 或 containerd)。
    • 确保节点间 SSH 互通(RKE 通过 SSH 连接到各个节点执行命令)。
    • 创建一个具有 sudo 权限或 root 的 SSH 密钥,并将公钥分发到所有节点。
  2. 编写集群配置文件 (cluster.yml)

    • 这是最关键的步骤。文件内容示例结构如下:

      nodes:-address:192.168.1.10user:ubunturole:[controlplane,worker,etcd]# 单节点角色ssh_key_path:~/.ssh/id_rsa-address:192.168.1.11user:ubunturole:[controlplane,etcd]# 控制平面+etcd节点-address:192.168.1.12user:ubunturole:[worker]# 纯工作节点services:etcd:snapshot:truecreation:6hretention:24hkube-api:service_cluster_ip_range:10.43.0.0/16kube-controller:cluster_cidr:10.42.0.0/16service_cluster_ip_range:10.43.0.0/16kubelet:cluster_domain:cluster.localnetwork:plugin:canal# 指定网络插件options:flannel_backend_type:"vxlan"ingress:provider:nginxnode_selector:app:ingressaddons:|# 可以定义集群部署后立即安装的 Kubernetes 清单(如 Dashboard, 监控等)---apiVersion:v1kind:Namespacemetadata:name:my-addons
  3. 部署集群

    • 在拥有配置文件和 RKE CLI 的机器上,执行:

      rke up --config cluster.yml
    • RKE 会依次执行以下操作:

      • 通过 SSH 连接到所有节点。
      • 拉取所需的 Kubernetes 组件镜像。
      • 在容器中启动etcd集群。
      • 在容器中启动控制平面组件(API Server, Controller Manager, Scheduler)。
      • 部署配置的网络插件、DNS(CoreDNS)、Ingress Controller 等插件。
      • 生成一个kube_config_cluster.yml文件,这是集群的kubeconfig,用于使用kubectl管理集群。
  4. 管理集群

    • 使用kubectl(通过上一步生成的 kubeconfig)与集群交互。
    • 升级集群:修改cluster.yml中的 Kubernetes 版本,再次运行rke up
    • 备份/恢复etcd:RKE 提供了rke etcd snapshot-saverke etcd snapshot-restore命令,是灾难恢复的关键。
    • 销毁集群:运行rke remove --config cluster.yml(⚠️危险操作)。

优点

  • 快速部署:简化了复杂的手动或脚本化部署过程。
  • 基础设施即代码:集群状态完全由配置文件定义,易于版本控制和复制。
  • 生产就绪:内置的高可用、备份恢复机制,使其适合生产环境。
  • 社区与生态:作为 Rancher 生态系统的一部分,有强大的社区支持和丰富的文档。
  • 纯开源:没有厂商锁定,可以独立于 Rancher Manager 使用。

缺点与注意事项

  • 学习曲线:需要理解 YAML 配置和 Kubernetes 核心概念。
  • 节点要求:对节点 SSH 和权限有要求,在某些严格的安全策略下可能需要调整。
  • 集群生命周期管理:虽然部署和升级简单,但节点操作系统、内核、容器运行时的维护仍需自行负责。
  • 与 RKE2 的区分:需要理解 RKE 和RKE2(下一代)的区别(见下文)。

RKE 与 RKE2、K3s 的关系

这是 Rancher 提供的三大 Kubernetes 发行版,定位不同:

特性RKE (RKE1)RKE2K3s
定位传统、稳定的生产集群安全、合规的边缘与数据中心极轻量的边缘与 IoT
核心特点通过容器运行 K8s 组件打包为系统守护进程,默认使用 containerd单个二进制文件,极度轻量
安全传统安全模型重点强化:默认开启 SELinux,PSP, CIS 基准扫描轻量级,安全配置较简单
发布节奏维护模式,更新较少与上游 K8s 版本紧密同步快速迭代,功能前沿
适用场景已有 RKE1 集群,或依赖特定旧版本新生产部署,尤其是对安全合规要求高的政府、金融领域资源受限的边缘计算、开发测试、IoT

简单总结

  • 新项目,尤其是对安全有高要求,建议从RKE2开始评估。
  • 如果追求极致轻量和简单,资源环境有限,选K3s
  • RKE目前主要用于维护已有的 RKE1 集群。

总结

RKE是一个强大且成熟的Kubernetes 安装器,它通过声明式配置全容器化部署的理念,将复杂的 K8s 集群部署流程标准化、自动化。它是构建生产级、高可用 Kubernetes 基础设施的优秀工具,尤其适合在自有基础设施上快速搭建和管理集群。随着 RKE2 的成熟,对于新项目,建议同时评估 RKE2,以获取更强的安全特性和更紧密的上游同步。

http://www.jsqmd.com/news/339181/

相关文章:

  • 演化时间线
  • 云诊所系统(源码)采用SpringBoot+Vue.js架构,实现智能化药品库存预警管理
  • Simon Spti核心思想总结 —— 从工具理性到生活哲学的完整图景
  • Java Web 毕业设计选题分析:常见误区与规避思路
  • 智能设备锁屏密码忘记?手表、电视等官方解决方案
  • 哲学层面:分类系统的根本局限
  • 《构建之法》 阅读笔记二:拆解构建流程,掌握核心开发与测试方法
  • 多功能奶泡机MCU方案开发设计分析
  • DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
  • specification
  • SKILL
  • 漏洞挖掘入门(第一期)|定义、分类与标准化挖掘流程(附合法靶场清单)
  • 用“渠道矩阵+内容节奏”把流量做成可控资产
  • 2026 年的 Node.js 已经不是那个你认识的 Node.js 了
  • Web漏洞挖掘实战(第二期)|SQL注入底层原理与全场景挖掘技巧
  • HTML DOM 访问
  • 2026春秋杯冬季赛 WriteUp By小灰灰
  • 笔记、图表和知识管理平台Atlantis
  • 《Foundation 均衡器》
  • A-Lin歌迹巡演无锡站双场圆满落幕 二十年金曲引全场共鸣
  • 【开题答辩全过程】以 基于springboot的咖啡店后台管理系统为例,包含答辩的问题和答案
  • 面试,其实是最容易选错人的方式
  • 网安人才缺口 480 万!3 个相关专业特点大不同,一文分清
  • Python,pymysql,create database,table,execute insert
  • Flutter for OpenHarmony 实战:网络监控登录系统完整开发指南
  • 用“内容+投放+运营”打出增长曲线
  • Flutter for OpenHarmony 进阶:Socket通信与网络编程深度解析
  • WiFi6随身WiFi是智商税,还是出行神器?一篇说清值不值得买
  • 用“产品力表达”撬动自然流量与高转化
  • Skill开发实战:从入门到精通,教你创建自动生成Skills的Skill,收藏必备!