Skip to content

Commit

Permalink
Adress some comments and keep Elemental Teal
Browse files Browse the repository at this point in the history
Signed-off-by: David Cassany <dcassany@suse.com>
  • Loading branch information
davidcassany committed Aug 4, 2022
1 parent b14b4bf commit fd6a736
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 20 deletions.
38 changes: 20 additions & 18 deletions docs/architecture.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Architecture

Elemental is an immutable Linux distribution.
Elemental is a stack, a set of tools, to build an immutable Linux distribution.

Its primary purpose is to run Rancher and its corresponding Kubernetes distributions [RKE2](https://rke2.io)
and [k3s](https://k3s.io).
and [k3s](https://k3s.io). It can be configured for any other workload, however
the following documentation focusses on a Rancher use-case.

Initial node configurations is done using a
cloud-init style approach and all further maintenance is done using
Expand All @@ -29,13 +30,20 @@ image that is built using standard Docker build processes. Elemental is
built using normal `docker build` and if you wish to customize the OS
image all you need to do is create a new `Dockerfile`.

## Rancher system agent
## Elemental Operator

Elemental includes no container runtime, Kubernetes distribution,
or Rancher itself. All of these assests are dynamically pulled at runtime. All that
is included in Elemental is [rancher system agent](https://github.com/rancher/system-agent) which
is responsible for bootstrapping RKE2/k3s and Rancher from an OCI registry. This means
an update to containerd, k3s, RKE2, or Rancher does not require an OS upgrade
is included in Elemental is [Elemental Operator](https://github.com/rancher/elemental-operator) which
is responsible for managing OS upgrades and managing a secure device inventory to assist
with zero touch provisioning.

Elemental Operator includes a Kubernetes operator installed in the management cluster and a client
side installed in nodes so they can self register into the management cluster. Once a node is
registered the Elemental Operator will kick start the OS installation and schedule the Kubernetes
provisioning using the [Rancher System Agent](https://github.com/rancher/system-agent).
Rancher System Agent is responsible for bootstrapping RKE2/k3s and Rancher from an OCI registry. This means
an update of containerd, k3s, RKE2, or Rancher does not require an OS upgrade
or node reboot.

## Cloud-init
Expand All @@ -45,16 +53,10 @@ It is not expected that one will need to do a lot of customization to Elemental
as the core OS's sole purpose is to run Rancher and Kubernetes and not serve as
a generic Linux distribution.

## Elemental Operator

Elemental includes an operator that is responsible for managing OS upgrades
and managing a secure device inventory to assist with zero touch provisioning.
See the project at [elemental-operator](https://github.com/rancher/elemental-operator/#readme)

## The underlaying OS
## Elemental Teal

Elemental is based off of SUSE Linux Enterprise (SLE) Micro for Rancher. There is no specific dependency on
SLE beyond that Elemental assumes the underlying distribution is
based on systemd. We choose SLE Micro for Rancher for obvious reasons, but beyond
that Elemental provides a stable layer to build upon that is well
tested and has paths to commercial support, if one chooses.
Elemental Teal is the OS, based on SUSE Linux Enterprise (SLE) Micro for Rancher,
built using the Elemental stack. The only assumption from the Elemental stack is that
the underlaying distribution is based on Systemd. We choose SLE Micro for Rancher for
obvious reasons, but beyond that Elemental provides a stable layer to build upon
that is well tested and has paths to commercial support, if one chooses.
4 changes: 2 additions & 2 deletions docs/upgrade.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
All components in Elemental are managed using Kubernetes. Below is how
to use Kubernetes approaches to upgrade the components.

## Elemental
## Elemental Teal

Elemental is upgraded with the Elemental operator. Refer to the
Elemental Teal is upgraded with the Elemental operator. Refer to the
[Elemental Operator](https://github.com/rancher/elemental-operator/blob/main/README.md) documentation for complete information, but the
TL;DR is

Expand Down

0 comments on commit fd6a736

Please sign in to comment.