Skip to content

Manager nodes#

Manager nodes manage a swarm and persist the swarm state. Using several containers per node, the ucp-manager-agent automatically deploys all MKE components on manager nodes, including the MKE web UI and the data stores that MKE uses.

Note

Some Kubernetes components are run as Swarm services because the MKE control plane is itself a Docker Swarm cluster.

The following tables detail the MKE services that run on manager nodes:

Swarm services

MKE component Description
ucp-auth-api The centralized service for identity and authentication used by MKE and MSR.
ucp-auth-store A container that stores authentication configurations and data for users, organizations, and teams.
ucp-auth-worker A container that performs scheduled LDAP synchronizations and cleans authentication and authorization data.
ucp-client-root-ca A certificate authority to sign client bundles.
ucp-cluster-agent The agent that monitors the cluster-wide MKE components. Runs on only one manager node.
ucp-cluster-root-ca A certificate authority used for TLS communication between MKE components.
ucp-controller The MKE web server.
ucp-hardware-info A container for collecting disk/hardware information about the host.
ucp-interlock A container that monitors Swarm workloads configured to use layer 7 routing. Only runs when you enable layer 7 routing.
ucp-interlock-config A service that manages Interlock configuration.
ucp-interlock-extension A service that verifies the run status of the Interlock extension.
ucp-interlock-proxy A service that provides load balancing and proxying for Swarm workloads. Runs only when layer 7 routing is enabled.
ucp-kube-apiserver A master component that serves the Kubernetes API. It persists its state in etcd directly, and all other components communicate directly with the API server. The Kubernetes API server is configured to encrypt Secrets using AES-CBC with a 256-bit key. The encryption key is never rotated, and the encryption key is stored on manager nodes, in a file on disk.
ucp-kube-controller-manager A master component that manages the desired state of controllers and other Kubernetes objects. It monitors the API server and performs background tasks when needed.
ucp-kubelet The Kubernetes node agent running on every node, which is responsible for running Kubernetes pods, reporting the health of the node, and monitoring resource usage.
ucp-kube-proxy The networking proxy running on every node, which enables pods to contact Kubernetes services and other pods by way of cluster IP addresses.
ucp-kube-scheduler A master component that manages Pod scheduling, which communicates with the API server only to obtain workloads that need to be scheduled.
ucp-kv A container used to store the MKE configurations. Do not use it in your applications, as it is for internal use only. Also used by Kubernetes components.
ucp-manager-agent The agent that monitors the manager node and ensures that the right MKE services are running.
ucp-proxy A TLS proxy that allows secure access from the local Mirantis Container Runtime to MKE components.
ucp-sf-notifier A Swarm service that sends notifications to Salesforce when alerts are configured by OpsCare, and later when they are triggered.
ucp-swarm-manager A container used to provide backward compatibility with Docker Swarm.

Kubernetes components

MKE component Description
cri-dockerd-mke An MKE service that accounts for the removal of dockershim from Kubernetes as of version 1.24, thus enabling MKE to continue using Docker as the container runtime.
k8s_calico-kube-controllers A cluster-scoped Kubernetes controller used to coordinate Calico networking. Runs on one manager node only.
k8s_calico-node The Calico node agent, which coordinates networking fabric according to the cluster-wide Calico configuration. Part of the calico-node DaemonSet. Runs on all nodes. Configure the container network interface (CNI) plugin using the --cni-installer-url flag. If this flag is not set, MKE uses Calico as the default CNI plugin.
k8s_enable-strictaffinity An init container for Calico controller that sets the StrictAffinity in Calico networking according to the configured boolean value.
k8s_firewalld-policy_calico-node An init container for calico-node that verifies whether systems with firewalld are compatible with Calico.
k8s_install-cni_calico-node A container in which the Calico CNI plugin binaries are installed and configured on each host. Part of the calico-node DaemonSet. Runs on all nodes.
k8s_ucp-coredns_coredns The CoreDNS plugin, which provides service discovery for Kubernetes services and Pods.
k8s_ucp-gatekeeper_gatekeeper-controller-manager The Gatekeeper manager controller for Kubernetes that provides policy enforcement. Only runs when OPA Gatekeeper is enabled in MKE.
k8s_ucp-gatekeeper-audit_gatekeeper-audit The audit controller for Kubernetes that provides audit functionality of OPA Gatekeeper. Only runs when OPA Gatekeeper is enabled in MKE.
k8s_ucp-kube-compose A custom Kubernetes resource component that translates Compose files into Kubernetes constructs. Part of the Compose deployment. Runs on one manager node only.
k8s_ucp-kube-compose-api The API server for Kube Compose, which is part of the compose deployment. Runs on one manager node only.
k8s_ucp-kube-ingress-controller The Ingress controller for Kubernetes, which provides layer 7 routing for Kubernertes services. Only runs with Ingress for Kubernetes enabled.
k8s_ucp-metrics-inventory A container that generates the inventory targets for Prometheus server. Part of the Kubernetes Prometheus Metrics plugin.
k8s_ucp-metrics-prometheus A container used to collect and process metrics for a node. Part of the Kubernetes Prometheus Metrics plugin.
k8s_ucp-metrics-proxy A container that runs a proxy for the metrics server. Part of the Kubernetes Prometheus Metrics plugin.
k8s_ucp-node-feature-discovery-master A container that provides node feature discovery labels for Kubernetes nodes.
k8s_ucp-node-feature-discovery-worker A container that provides node feature discovery labels for Kubernetes nodes.
k8s_ucp-nvidia-device-partitioner A container that provides support for Multi Instance GPU (MIG) on NVIDIA GPUs.
k8s_ucp-secureoverlay-agent A container that provides a per-node service that manages the encryption state of the data plane.
k8s_POD_ucp-secureoverlay-mgr A container that provides the key management process that configures and periodically rotates the encryption keys.

Kubernetes pause containers

MKE component Description
k8s_POD_calico-node The pause container for the calico-node pod.
k8s_POD_calico-kube-controllers The pause container for the calico-kube-controllers pod.
k8s_POD_compose The pause container for the compose pod.
k8s_POD_compose-api The pause container for ucp-kube-compose-api.
k8s_POD_coredns The pause container for the ucp-coredns Pod.
k8s_POD_ingress-nginx-controller The pause container for ucp-kube-ingress-controller.
k8s_POD_gatekeeper-audit The pause container for ucp-gatekeeper-audit.
k8s_POD_gatekeeper-controller-manager The pause container for ucp-gatekeeper.
k8s_POD_ucp-metrics The pause container for the ucp-metrics.
k8s_POD_ucp-node-feature-discovery The pause container for the node feature discovery labels on Kubernetes nodes.
k8s_POD_ucp-nvidia-device-partitioner A pause container for ucp-nvidia-device-partitioner.
k8s_ucp-pause_ucp-nvidia-device-partitioner A pause container for ucp-nvidia-device-partitioner.