Elemental components
The components required to provide the Elemental services are:
- the
elemental
command line tool - the
elemental-operator
daemon - the
elemental-register
command line tool - the
elemental-system-agent
daemon - one or more Elemental OS container images
elemental
command line tool​
The elemental
tool is part of the Elemental Toolkit project.
It performs the actual OS installation and upgrade operations on the host and is used to execute the cloud-config directives added in the Elemental CRDs.
The elemental
binary is included in all the base OS images distributed with Elemental.
elemental-operator
daemon​
The elemental-operator daemon performs two main tasks:
- embeds the Elemental Kubernetes controllers to manage all the Elemental CRDs
- exposes the registration endpoints to allow the host to register and download the OS installation configuration during the machine onboarding
The elemental-operator
daemon is deployed on the Rancher cluster as a Deployment
via the Elemental Operator Helm Chart.
elemental-register
command line tool​
The elemental-register binary is the client used to register the host against the registration endpoints exposed by the elemental-operator. It collects and forwards the host data to allow the elemental-operator to fill the SMBIOS and the Hardware label templates.
If the registraton phase is performed successfully, the elemental-register gets the full configuration stored in the MachineRegistration from the elemental-operator. As the last step, the elemental-register client calls the elemental binary passing the retrieved configuration to kick off the OS installation.
elemental-system-agent
daemon​
The elemental-system-agent
is built from the Rancher System Agent project and allows Elemental to deploy plans to assist with the host provisioning.
Notably, the rancher-system-agent
installation and configuration required for the Kubernetes Cluster provisioning service is performed through an elemental-system-agent
plan.
Elemental OS container image​
An Elemental Toolkit OS image is an OCI container image containing all the files that will make up the OS of the target host. It contains not only all the binaries and libraries, but also the kernel and the boot files required by a linux system.
The Elemental OS image is an opinionated Elemental Toolkit OS image which is based on SLE Micro and contains specific Elemental configurations and binaries (the elemental and the elemental-register ones).
The Elemental OS images are tracked in the ManagedOSVersions resources. The ManagedOSVersions resources are dynamically created from ManagedOSVersionChannel resources. A defaultManagedOSVersionChannel resource is deployed with each Elemental Operator installation.