mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-06 06:46:26 +01:00
46 lines
2.4 KiB
Plaintext
46 lines
2.4 KiB
Plaintext
// Module included in the following assemblies:
|
||
//
|
||
// * architecture/architecture.adoc
|
||
[id="understanding-machine-config-operator_{context}"]
|
||
= Understanding the Machine Config Operator
|
||
|
||
{product-title} {product-version} integrates both
|
||
operating system and cluster management. Because the cluster manages its own
|
||
updates, including updates to {op-system-first} on cluster nodes,
|
||
{product-title} provides an opinionated lifecycle management
|
||
experience that simplifies the orchestration of node upgrades.
|
||
|
||
{product-title} employs three daemon sets and controllers to
|
||
simplify node management. These daemon sets orchestrate operating system updates
|
||
and configuration changes to the hosts by using standard Kubernetes-style
|
||
constructs. They include:
|
||
|
||
* The `machine-config-controller`, which coordinates machine upgrades from the control
|
||
plane. It monitors all of the cluster nodes and orchestrates their configuration
|
||
updates.
|
||
* The `machine-config-daemon` daemon set, which runs on
|
||
each node in the cluster and updates a machine to configuration as defined by
|
||
machine config and as instructed by the MachineConfigController. When the node detects
|
||
a change, it drains off its pods, applies the update, and reboots. These changes
|
||
come in the form of Ignition configuration files that apply the specified
|
||
machine configuration and control kubelet configuration. The update itself is
|
||
delivered in a container. This process is key to the success of managing
|
||
{product-title} and {op-system} updates together.
|
||
* The `machine-config-server` daemon set, which provides the Ignition config files
|
||
to control plane nodes as they join the cluster.
|
||
|
||
The machine configuration is a subset of the Ignition configuration. The
|
||
`machine-config-daemon` reads the machine configuration to see if it needs to do
|
||
an OSTree update or if it must apply a series of systemd kubelet file changes,
|
||
configuration changes, or other changes to the operating system or {product-title}
|
||
configuration.
|
||
|
||
When you perform node management operations, you create or modify a
|
||
`KubeletConfig` custom resource (CR).
|
||
//See https://github.com/openshift/machine-config-operator/blob/master/docs/KubeletConfigDesign.md[KubeletConfigDesign] for details.
|
||
|
||
[IMPORTANT]
|
||
====
|
||
To prevent control plane nodes from autorebooting after machine config changes are applied, you must pause the autoreboot process by setting the `spec.paused` field to `true` in the machine pool config.
|
||
====
|