Register an Unmanaged OS
Normally, the Elemental Operator manages operating systems that are installed and configured by the Elemental Toolkit.
For example, in order to automate OS installation, upgrade, and reset, the elemental-register
relies on the elemental
CLI to execute these operations.
However, it is also possible to register and provision Elemental "Toolkitless" systems.
In this scenario, elemental-register needs to be installed on the system.
Optionally, the elemental-system-agent can be installed. Note that without the elemental-system-agent
, the Elemental Operator will not be able to provision any k8s cluster on the machine. In this case the Elemental Operator can only be used for OS Inventory purposes only.
Finally, on the management cluster, the MachineRegistration
must enable the spec.config.elemental.registration.no-toolkit
flag.
Once no-toolkit
is enabled on the MachineRegistration
, and a new registration occurs using elemental-register --install
on the system, a new MachineInventory
will be created on the management cluster:
kubectl -n fleet-default describe machineinventory my-unmanaged-os-machine
The MachineInventory
will be annotated with the elemental.cattle.io/os.unmanaged: "true"
annotation, highlighting that this machine is not managed and has limited functionality.
On the system, upon successful registration, the /etc/rancher/elemental/agent/config.yaml
and /var/lib/elemental/agent/elemental_connection.json
files are automatically created to configure the elemental-system-agent
.
The elemental-system-agent
component is needed for K8s provisioning and Reset triggers.
When a machine reset is triggered, for example by deleting the MachineInventory
directly, the elemental-system-agent
will execute a simple reset plan that will create the /var/lib/elemental/.unmanaged_reset
sentinel file.
The presence of this file indicates that the machine needs a reset. This may involve stopping services, uninstalling packages, formatting devices, and so on, depending how the machine is customly managed.
Supported Features​
- Registration of a
MachineInventory
- K8s provisioning (when the elemental-system-agent is installed and running on the machine)
- Reset triggers (when the elemental-system-agent is installed and running on the machine)
Unsupported Features​
- Cloud-init driven configuration
- OS Upgrades
- OS Reset