Kubernetes underlay
The Kubernetes lifecycle management (LCM) engine in MOSK consists of the following components:
- LCM Controller
Responsible for all LCM operations. Consumes the
LCMClusterobject and orchestrates actions through LCM Agent.- LCM Agent
Runs on the target host. Executes Ansible playbooks in headless mode.
- Helm Controller
Responsible for the Helm charts life cycle, is installed by the provider as a Helm v3 chart.
The Kubernetes LCM components handle the following custom resources:
LCMClusterLCMMachineHelmBundle
The following diagram illustrates handling of the LCM custom resources by the
Kubernetes LCM components. On a MOSK cluster, apiserver
handles multiple Kubernetes objects, for example, deployments, nodes, RBAC, and
so on.
The Kubernetes distribution used as the cluster underlay is defined by the cluster type and is not selectable during deployment: management clusters run k0s, while MOSK clusters run Mirantis Kubernetes Engine (MKE). The Kubernetes LCM engine supports both distributions, so a k0s-based management cluster manages MKE-based MOSK clusters with no additional configuration. For details, see Kubernetes distributions.
The following sections outline key components of the Kubernetes LCM engine in MOSK.