Elemental Lifecycle Manager (LCM) is a Kubernetes controller that upgrades environments booted from images customized with the Elemental toolset.
LCM can upgrade the following components:
Users define the desired component state with a Release resource, and the controller reconciles the environment until it matches that state.
NOTE: Before diving into LCM, it is essential to learn more about the Elemental toolset from its homepage.
Elemental Lifecycle Manager (LCM) utilizes SUC to facilitate operating system and Kubernetes upgrades on each cluster node.
SUC can be deployed in one of the following ways:
system-upgrade-controller.yaml file from the desired SUC release.NOTE: SUC must be deployed in the
cattle-systemnamespace.
LCM facilitates additional component upgrades by using the Helm Controller.
RKE2 clusters have this controller built-in. It is enabled by default and users of LCM should ensure that it is not manually disabled via the respective CLI argument or config file parameter.
Issue: #28. Private Helm charts can be upgraded only when they are managed by the Helm Controller. If the chart was deployed directly through Helm (e.g. helm install), first create a HelmChart resource with the required repository credentials before scheduling the upgrade through LCM.
Issue: #28. Helm chart upgrades that switch the chart from a public to a private reference are not handled automatically. Before scheduling the upgrade, configure the chart’s corresponding HelmChart resoruce to include the required credentials for the private reference.
Release resource API, including its fields, constraints, and status reporting.