14 RKE2 #
请参见 RKE2 官方文档。
RKE2 是注重安全性与合规性的完全符合规范的 Kubernetes 发行版,因为它可以:
提供默认设置和配置选项,使群集能够在操作员极少干预的情况下通过 CIS Kubernetes 基准 v1.6 或 v1.23
实现 FIPS 140-2 合规
在 RKE2 构建管道中使用 trivy 定期扫描组件中存在的 CVE
RKE2 将控制平面组件作为 kubelet 管理的静态 Pod 进行启动。嵌入式容器运行时为 containerd。
注意:RKE2 也称为 RKE 政府版,表示它目前面向另一种用例和市场领域。
14.1 RKE2 与 K3s 的比较 #
K3s 是完全合规的轻量级 Kubernetes 发行版,主要用于 Edge、IoT 和 ARM,在无法精通 K8s 群集学的情况下也可以使用它。
RKE2 结合了 1.x 版 RKE(后文称为 RKE1)和 K3s 的最大优点。
它承袭了 K3s 的易用性、易操作性和部署模型。
它承袭了 RKE1 与上游 Kubernetes 的紧密一致性。在某些地方,K3s 与上游 Kubernetes 有所不同,目的是针对边缘部署进行优化,但 RKE1 和 RKE2 可以与上游保持紧密一致性。
14.2 SUSE Edge 如何使用 RKE2? #
RKE2 是 SUSE Edge 堆栈的根本性组成部分。它位于 SUSE Linux Micro(第 7 章 “SLE Micro”)的顶层,提供部署 Edge 工作负载所需的标准 Kubernetes 接口,且占用的空间极小。
14.3 最佳实践 #
14.3.1 安装 #
将 RKE2 安装为 SUSE Edge 堆栈一部分的建议方法是使用 Edge Image Builder (EIB)。有关如何配置 EIB 来部署 RKE2 的更多细节,请参见 EIB 文档(第 9 章 “Edge Image Builder”)。
EIB 足够灵活,支持 RKE2 所需的任何参数(例如指定 RKE2 版本、服务器或代理配置),涵盖所有 Edge 用例。
对于涉及 Metal3 的其他用例,也可以使用和安装 RKE2。在这种特殊情况下,群集 API 提供程序 RKE2 会自动在使用 Edge Stack 通过 Metal3 置备的群集上部署 RKE2。
在这种情况下,必须在涉及的不同 CRD 上应用 RKE2 配置。以下示例说明如何使用
RKE2ControlPlane
CRD 提供不同的 CNI:
apiVersion: controlplane.cluster.x-k8s.io/v1alpha1
kind: RKE2ControlPlane
metadata:
name: single-node-cluster
namespace: default
spec:
serverConfig:
cni: calico
cniMultusEnable: true
...
有关 Metal3 用例的详细信息,请参见第 8 章 “Metal3”。
14.3.2 高可用性 #
对于 HA 部署,EIB 会自动部署并配置 MetalLB(第 17 章 “MetalLB”)和 Endpoint Copier Operator,以向外部公开 RKE2 API 端点。
14.3.3 网络 #
Edge Stack 支持的 CNI 为 Cilium,您可选择性地添加元插件 Multus,但 RKE2 也支持其他几个插件。
14.3.4 存储 #
RKE2 不提供任何类型的永久存储类或操作器。对于跨多个节点的群集,建议使用 Longhorn(第 15 章 “Longhorn”)。