Kubernetes underlay

The Kubernetes lifecycle management (LCM) engine in MOSK consists of the following components:

LCM Controller

Responsible for all LCM operations. Consumes the LCMCluster object 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:

  • LCMCluster

  • LCMMachine

  • HelmBundle

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.

lcm-components

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.