:_mod-docs-content-type: ASSEMBLY
[id="control-plane"]
= Control plane architecture
include::_attributes/common-attributes.adoc[]
include::_attributes/attributes-openshift-dedicated.adoc[]
:context: control-plane

toc::[]

The _control plane_, which is composed of control plane machines, manages the {product-title} cluster.
The control plane machines manage workloads on the compute machines, which are also known as worker machines.
The cluster itself manages all upgrades to the machines by the actions of the Cluster Version Operator (CVO),
ifndef::openshift-dedicated,openshift-rosa[]
the Machine Config Operator,
endif::openshift-dedicated,openshift-rosa[]
and a set of individual Operators.

ifdef::openshift-rosa[]
:FeatureName: This control plane architecture
include::snippets/rosa-classic-support.adoc[]
endif::openshift-rosa[]

// This module does not apply to OSD/ROSA
ifndef::openshift-dedicated,openshift-rosa[]
include::modules/architecture-machine-config-pools.adoc[leveloffset=+1]
endif::openshift-dedicated,openshift-rosa[]

ifndef::openshift-dedicated,openshift-rosa[]
[role="_additional-resources"]
.Additional resources
* xref:../machine_configuration/index.adoc#machine-config-drift-detection_machine-config-overview[Understanding configuration drift detection]
endif::openshift-dedicated,openshift-rosa[]

include::modules/architecture-machine-roles.adoc[leveloffset=+1]

// This additional resource does not apply to OSD/ROSA
ifndef::openshift-dedicated,openshift-rosa[]
[role="_additional-resources"]
.Additional resources
* xref:../hosted_control_planes/index.adoc#hcp-overview[{hcp-capital} overview]
endif::openshift-dedicated,openshift-rosa[]

include::modules/operators-overview.adoc[leveloffset=+1]

ifdef::openshift-enterprise,openshift-webscale,openshift-origin[]
include::modules/arch-cluster-operators.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* xref:../operators/operator-reference.adoc#cluster-operators-ref[Cluster Operators reference]
endif::[]

include::modules/arch-olm-operators.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* For more details on running add-on Operators in {product-title}, see the _Operators_ guide sections on xref:../operators/understanding/olm/olm-understanding-olm.adoc#olm-understanding-olm[Operator Lifecycle Manager (OLM)] and xref:../operators/understanding/olm-understanding-operatorhub.adoc#olm-understanding-operatorhub[OperatorHub].
* For more details on the Operator SDK, see xref:../operators/operator_sdk/osdk-about.adoc#osdk-about[Developing Operators].

// This module does not apply to OSD/ROSA
ifndef::openshift-dedicated,openshift-rosa[]
include::modules/understanding-machine-config-operator.adoc[leveloffset=+1]
endif::openshift-dedicated,openshift-rosa[]

// These additional resources do not apply to OSD/ROSA
ifndef::openshift-dedicated,openshift-rosa[]
[role="_additional-resources"]
.Additional resources
* For more information about detecting configuration drift, see xref:../machine_configuration/index.adoc#machine-config-drift-detection_machine-config-overview[Understanding configuration drift detection].

* For information about preventing the control plane machines from rebooting after the Machine Config Operator makes changes to the machine configuration, see xref:../support/troubleshooting/troubleshooting-operator-issues.adoc#troubleshooting-disabling-autoreboot-mco_troubleshooting-operator-issues[Disabling Machine Config Operator from automatically rebooting].

* xref:../machine_configuration/machine-config-node-disruption.adoc#machine-config-node-disruption[Understanding node restart behaviors after machine config changes]
endif::openshift-dedicated,openshift-rosa[]

include::modules/etcd-overview.adoc[leveloffset=+1]

// These modules only apply to ROSA/OSD
ifdef::openshift-dedicated,openshift-rosa[]
include::modules/cpmso-feat-auto-update.adoc[leveloffset=+1]
include::modules/cpmso-control-plane-recovery.adoc[leveloffset=+1]
endif::openshift-dedicated,openshift-rosa[]

// These xrefs do not apply to OSD/ROSA
ifndef::openshift-dedicated,openshift-rosa[]
[role="_additional-resources"]
.Additional resources
* xref:../scalability_and_performance/recommended-performance-scale-practices/recommended-etcd-practices.adoc#recommended-etcd-practices[Recommended etcd practices]
* xref:../backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc#backing-up-etcd[Backing up etcd]
endif::openshift-dedicated,openshift-rosa[]