10 Elemental #
Elemental 是一套软件栈,支持通过 Kubernetes 实现集中式、完全云原生的操作系统管理。Elemental 栈由多个组件组成,这些组件要么驻留在 Rancher 本身,要么驻留在边缘节点上。核心组件包括:
elemental-operator - 驻留在 Rancher 上并处理来自客户端注册请求的核心 operator。
elemental-register - 运行在边缘节点上的客户端,允许通过
elemental-operator进行注册。elemental-system-agent - 驻留在边缘节点上的代理;其配置由
elemental-register提供,并接收用于配置rancher-system-agent的plan。rancher-system-agent - 一旦边缘节点完全注册,该代理将接管
elemental-system-agent的工作,并等待来自 Rancher Manager 的进一步plans(例如用于 Kubernetes 安装)。
有关 Elemental 及其与 Rancher 关系的完整信息,请参阅 Elemental 上游文档。
10.1 SUSE Edge 如何使用 Elemental? #
我们使用 Elemental 的部分功能来管理无法使用 Metal3 的远程设备(例如,没有 BMC,或者设备位于 NAT 网关之后)。此工具允许操作员在实验室中启动其设备,而无需预先知道设备何时或将被运往何处。具体而言,我们利用 elemental-register 和 elemental-system-agent 组件,使 SUSE Linux Micro 主机能够接入 Rancher,以实现“自动回连”(phone home)网络配置用例。当使用 Edge Image Builder (EIB) 创建部署镜像时,可以通过在 EIB 的配置目录中指定注册配置,来实现通过 Elemental 进行 Rancher 自动注册。
在 SUSE Edge 3.6 中,我们*不*利用 Elemental 的操作系统管理功能,因此无法通过 Rancher 管理您的操作系统补丁。与其使用 Elemental 工具构建部署镜像,SUSE Edge 使用了 Edge Image Builder 工具,该工具会使用注册配置。
10.2 最佳实践 #
10.2.1 安装媒体 #
在“自动回连网络配置”部署场景下,推荐的 SUSE Edge 构建部署镜像方法是按照 使用 Elemental 进行远程主机接入 (Chapter 1, 使用 Elemental 进行远程主机注册) 快速入门中详述的说明操作,以便利用 Elemental 向 Rancher 注册。
10.2.2 标签 #
Elemental 使用 MachineInventory CRD 跟踪其清单,并提供了一种基于标签选择清单的方法,例如用于选择要部署 Kubernetes 集群的机器。这为用户提供了一种在购买硬件之前预定义大部分(如果不是全部)基础设施需求的方法。此外,由于节点可以在各自的清单对象上添加或去除标签(通过重新运行 elemental-register 并附加标志 --label "FOO=BAR"),我们可以编写脚本来检测并让 Rancher 知道节点从哪里启动。
10.3 已知问题 #
Elemental UI 目前不知道如何构建安装媒体或更新非“Elemental Teal”操作系统。这应该会在未来的版本中得到解决。