12 Elemental #
Elemental is a software stack enabling centralized and full cloud-native OS management with Kubernetes. The Elemental stack consists of a number of components that either reside on Rancher itself, or on the edge nodes. The core components are:
elemental-operator - The core operator that resides on Rancher and handles registration requests from clients.
elemental-register - The client that runs on the edge nodes allowing registration via the
elemental-operator
.elemental-system-agent - An agent that resides on the edge nodes; its configuration is fed from
elemental-register
and it receives aplan
for configuring therancher-system-agent
rancher-system-agent - Once the edge node has fully registered, this takes over from
elemental-system-agent
and waits for furtherplans
from Rancher Manager (e.g. for Kubernetes installation).
See Elemental upstream documentation for full information about Elemental and its relationship to Rancher.
12.1 How does SUSE Edge use Elemental? #
We use portions of Elemental for managing remote devices where Metal3 is not an option (for example, there is no BMC, or the device is behind a NAT gateway). This tooling allows for an operator to bootstrap their devices in a lab before knowing when or where they will be shipped to. Namely, we leverage the elemental-register
and elemental-system-agent
components to enable the onboarding of SLE Micro hosts to Rancher for "phone home" network provisioning use-cases. When using Edge Image Builder (EIB) to create deployment images, the automatic registration through Rancher via Elemental can be achieved by specifying the registration configuration in the configuration directory for EIB.
In SUSE Edge 3.2.0 we do not leverage the operating system management aspects of Elemental, and therefore it’s not possible to manage your operating system patching via Rancher. Instead of using the Elemental tools to build deployment images, SUSE Edge uses the Edge Image Builder tooling, which consumes the registration configuration.
12.2 Best practices #
12.2.1 Installation media #
The SUSE Edge recommended way of building deployments image that can leverage Elemental for registration to Rancher in the "phone home network provisioning" deployment footprint is to follow the instructions detailed in the remote host onboarding with Elemental (Chapter 2, Remote host onboarding with Elemental) quickstart.
12.2.2 Labels #
Elemental tracks its inventory with the MachineInventory
CRD and provides a way to select inventory, e.g. for selecting machines to deploy Kubernetes clusters to, based on labels. This provides a way for users to predefine most (if not all) of their infrastructure needs prior to hardware even being purchased. Also, since nodes can add/remove labels on their respective inventory object (by re-running elemental-register
with the additional flag --label "FOO=BAR"
), we can write scripts that will discover and let Rancher know where a node is booted.
12.3 Known issues #
The Elemental UI does not currently know how to build installation media or update non-"Elemental Teal" operating systems. This should be addressed in future releases.