Kubernetes cluster provisioning​
The goal of the Kubernetes Cluster deployment phase is to create a new RKE2 or K3s cluster using the available MachineInventories, i.e., the hosts that have successfully completed the Machine onboarding phase.
The Elemental Kubernetes cluster deployment involves the following steps:
- The user creates a MachineInventorySelectorTemplate resource: it allows to define a selector to identify a subset of the available MachineInventories based on the value of their labels.
- The user defines a Rancher cluster and adds to the
machinePools
definition a reference to the MachineInventorySelectorTemplate created in the step before. - The Rancher RKE2/K3s Cluster provisioning reacts to the Rancher cluster resource creation by generating a number of MachineInventorySelectors resources equal to the quantity specified in the machinePools.
- The Elemental Operator pairs each generated MachineInventorySelector resource with an available MachineInventory and installs the rancher-system-agent daemon on the host tracked by the MachineInventory. The Rancher RKE2/K3s Cluster provisioning takes over the K3s/RKE provisiong using rancher-system-agent plans: it installs the required components (e.g., containerd, K3s, ...) and creates the configuration files till the successful deployment of the new Kubernetes cluster.