Caution
Kubernetes support termination notice
Starting with the MCP 2019.2.5 update, the Kubernetes component is no longer supported as a part of the MCP product. This implies that Kubernetes is not tested and not shipped as an MCP component. Although the Kubernetes Salt formula is available in the community driven SaltStack formulas ecosystem, Mirantis takes no responsibility for its maintenance.
Customers looking for a Kubernetes distribution and Kubernetes lifecycle management tools are encouraged to evaluate the Mirantis Kubernetes-as-a-Service (KaaS) and Docker Enterprise products.
A Kubernetes cluster includes the Kubernetes components as well as supplementary services that run on all or some of the nodes.
Unless noted otherwise, all listed components run as daemon processes
on a host operating system, controlled by systemd.
The components can be divided into the following types:
These components run on all nodes in a Kubernetes cluster.
kubelet agent service is responsible for creating and managing
containerd containers on the Kubernetes cluster nodes.kube-proxy service is responsible for the TCP/UDP stream forwarding
or round-robin TCP/UDP forwarding across various backends
to reach cluster services (acts as a service proxy). This service
is used for the Calico SDN only.These components run on the Kubernetes Master nodes and provide the control plane functionality.
etcd service is a distributed key-value store that stores data
across a Kubernetes cluster.kube-addon-manager service manages two classes of addons
with given template files located at /etc/kubernetes/addons/
by default. It runs as a pod controlled by Kubernetes.kube-apiserver REST API server verifies and configures
data for such API objects as pods, services,
replication controllers, and so on.kubectl command-line client for the Kubernetes API
enables cloud operators to execute commands against
Kubernetes clusters.kube-control-manager process embeds the core control loops
shipped with Kubernetes, such as the replication controller and so on.kube-scheduler utility implements the scheduling functions
of workloads provisioning in pods to specific Kubernetes Nodes according
to the capacity requirements of workloads, Nodes allowances,
and user-defined policies, such as affinity, data localization, and other
custom restraints. The kube-scheduler utility may significantly affect
performance, availability, and capacity.These components run on the Kubernetes nodes.
calico-node.These components are mandatory for an MCP Kubernetes cluster.
coredns process manages the DNS requests for the Kubernetes Nodes
as well as monitors the Kubernetes Master nodes for changes in Services
and Endpoints. It runs runs on the Kubernetes Master nodes as a pod
controlled by Kubernetes.You may need to install these components if your environment has specific requirements:
cni-genie addon allows container orchestrators to use multiple
CNI plugins in runtime.dashboard allows using a web UI to manage applications
that run on a Kubernetes cluster as well as troubleshoot them through the
web UI.external-dns manages DNS records dynamically through the
Kubernetes resources in a DNS provider-agnostic way, as well as makes these
resources discoverable through public DNS servers.helm addon is a tool for managing Kubernetes charts.ingress-nginx controller provides load balancing, SSL termination,
and name-based virtual hosting. The NGINX Ingress controller
requires MetalLB to be enabled on a cluster.metallb service for Calico provides external IP addresses
to the workloads services, for example, NGINX, from the pool of addresses
defined in the MetalLB configuration.sriov-cni CNI plugin allows the Kubernetes pods to attach to an
SR-IOV virtual function.