RKE vs. RKE2:对比两种 Kubernetes 发行版

RKE 和 RKE2 的安装

安装 RKE 时需要做一些准备。必须提供一个包含基本配置的 yaml 文件,或者直接运行二进制文件,并回答其中的问题,从而生成相应的 yaml 文件。对我而言,我不太清楚这些问题是在询问哪些信息。我只能反复多次运行安装程序来查看结果,以此来确定对应的情况。不过在成功安装后,这其实不算什么大问题。我们可以部署一个高可用集群,并通过换个 yaml 文件来完成版本和配置更新。

而 RKE2 的安装流程更加直观。可以直接运行脚本来安装一个节点,之后再用 token 来添加更多节点。另外,还可以使用二进制文件配置集群节点。为了尽量简化安装流程,RKE2 的多数配置都使用了合理的默认值,但也可以通过配置文件来自定义部署集群。

图 1–RKE 集群配置文件示例

在评估 RKE 和 RKE2 时,最重要的考量因素就是它们的安装方法以及它们如何与 Rancher 结合使用。如果你正在测试对比这两种发行版,很可能是因为你已经开始使用 Rancher,或者有这方面的计划。

RKE 和 RKE2 在 Rancher 中的部署方法完全不同。RKE 采用非标准化的开源部署方法。而部署 RKE2 和 K3s 使用的是开源项目 Cluster API(https://github.com/kubernetes-sigs/cluster-api),这一开源项目正在逐渐成为 Kubernetes 集群部署的统一标准。除此之外,它还有其他多项优势。

Rancher 现已支持在多个平台部署 RKE 和 RKE2 集群。使用 Cluster API 部署 RKE2 和 K3s 为我们提供了一个新的维度。即使对于 Rancher 不支持的开箱即用的基础设施提供程序,也可以使用 Cluster API 及其驱动程序在 Rancher UI 中创建自定义提供程序。之后即可使用 Rancher 的管理和自动化功能,并且无论采用哪种基础设施提供程序,都可以通过 Rancher 的 API 来管理集群的整个生命周期。

RKE 与 RKE2 的主要区别

RKE 和 RKE2 之间最大的区别在于容器运行时。RKE 需要 Docker 作为容器运行时,而 RKE2 依靠的是 Containerd,Containerd 已经成为行业标准的容器运行时。CNCF 于 2020 年 12 月宣布,他们将放弃将 Docker 作为 Kubernetes 的默认运行时,改用 Containerd 作为默认容器运行时。另一个重要差异是,RKE2 使用 Kubelet 管理的静态 Pod 作为控制平面组件,而 RKE 中的控制平面组件由 Docker 管理。

CNI 插件

两个发行版都完全符合 CNCF 认证要求,不过除了容器运行时之外,它们之间还有一些差异。首先,RKE 可选择的 CNI 插件集成与 RKE2 不同,包括:Canal、Flannel、Calico 和 Weave。而 RKE2 可以使用的是 Cillium、Calico、Canal 和 Multus。

Cillium 和 Multus 之间有很大区别,这些不同对于使用 RKE2 的电信通讯和多网卡用例尤其明显。而且,如果不支持 Multus,就无法为一个 Pod 添加多个网卡。Cillium 具备出色的网络连接性能,以及丰富的安全防护和合规功能,这对于电信通讯应用来说相当重要。

安全防护

RKE2 原名 RKE Government,设计初衷是供美国政府项目部署使用。安全防护在这类项目中的重要意义不言而喻,所以 RKE2 尤其注重开箱即用的安全性与合规性。

RKE2 的配置能够最大限度简化通过 CIS Kubernetes 基准测试所需的配置工作,确保加密模块的 FIPS 140-2 合规性,并针对集群中使用的镜像使用 Trivy 定期扫描完整生命周期漏洞 (CVE)。

RKE 是标准的 Kubernetes 发行版,没有特别强调安全防护。

这又是一个显著的差异。由于 RKE2 使用 K3s 作为基础,所以具备其简单化、模块化和操作简便的特性以及部署模型,将 RKE 与 K3s 二者的优势集于一身。值得一提的是,K3s 是为资源有限的环境打造的轻量级发行版,设计目的在于简化操作,由此让我们能在边缘场景中管理成千上万个单节点集群。

结论

RKE2 被视为 RKE 的下一个迭代版本。凭借注重安全防护的配置、轻松简便的操作和更加优化的 CNI 插件集成,对于电信通讯、网络性能要求更高的 App 和看重安全防护与合规性的环境而言,RKE2 都将是理想的选择。

当然,RKE 也是稳定的、经过 CNCF 认证的 Kubernetes 发行版,同样适用于各类生产环境。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/rancher/blog/5556164

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。