By default, the cluster operator pods are distributed across control plane and worker nodes. The openshift-kube-scheduler-operator is deployed to run on control plane (etcd) nodes. The control plane node determines placement of all additional pods across the cluster, based on the predefined policies. Most of the cluster core components, such as the API server, authentication, controller-manager, scheduler, and so on, are deployed to run on control plane nodes. All cluster operators for OpenShift pods run on control plane nodes.
Applications that are manually created after an OpenShift Container Platform 4.2 deployment run on worker nodes. The OpenShift scheduler allocates application pods automatically. However, you can deploy some of the cluster pods to run across all nodes, for example, monitoring pods (node-exporter), cluster tuning, Multus, SDN, and so on. The following table shows the default deployment of the base system:
Table 4. Default deployment of OpenShift base system component pods
Control plane nodes |
Worker nodes |
|
Apiserver |
authentication |
cluster-node-tuning |
cloud-credential |
cluster-node-tuning |
machine-config |
cluster-samples |
cluster-storage |
certified-operators |
cluster-version |
console |
community-operators |
controller-manager |
cluster-image-registry |
redhat-operators |
Dns |
ingress |
|
Insights |
kube-apiserver |
|
kube-controller-manager |
kube-scheduler |
|
cluster-autoscaler |
machine-api |
|
machine-config |
redhat |
|
cluster-monitoring |
prometheus |
|
network |
catalog |
|
olm |
services-ca |
|
service-catalog-apiserver |
service-catalog-manager |
|
etcd-quorum |
|
|