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 back ends
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.