:_mod-docs-content-type: REFERENCE
[id="updating-cli-prereqs_{context}"]
= Prerequisites for a cluster update

[role="_abstract"]
You must meet several prerequisites before updating a cluster in a disconnected environment.

The following prerequisites must be met:

* You must have the `oc` command-line interface (CLI) tool installed.
* You must provision a local container image registry with the container images for your update, as described in "Mirroring {product-title} images".
* You must have access to the cluster as a user with `admin` privileges.
See "Using RBAC to define and apply permissions".
* You must have a recent etcd backup in case your update fails and you must restore your cluster to a previous state.
For more information, see "Backing up etcd" and "Restoring to a previous cluster state".
* You have updated all Operators previously installed through Operator Lifecycle Manager (OLM) to a version that is compatible with your target release. Updating the Operators ensures they have a valid update path when the default catalog sources switch from the current minor version to the next during a cluster update. See "Updating installed Operators" for more information on how to check compatibility and, if necessary, update the installed Operators.
* You must ensure that all machine config pools (MCPs) are running and not paused. Nodes associated with a paused MCP are skipped during the update process. You can pause the MCPs if you are performing a canary rollout update strategy.
* If your cluster uses manually maintained credentials, update the cloud provider resources for the new release. For more information, including how to determine if this is a requirement for your cluster, see "Preparing to update a cluster with manually maintained credentials".
* If you run an Operator or you have configured any application with the pod disruption budget, you might experience an interruption during the update process. If `minAvailable` is set to 1 in `PodDisruptionBudget`, the nodes are drained to apply pending machine configs which might block the eviction process. If several nodes are rebooted, all the pods might run on only one node, and the `PodDisruptionBudget` field can prevent the node drain.

[NOTE]
====
If you run an Operator or you have configured any application with the pod disruption budget, you might experience an interruption during the update process. If `minAvailable` is set to 1 in `PodDisruptionBudget`, the nodes are drained to apply pending machine configs which might block the eviction process. If several nodes are rebooted, all the pods might run on only one node, and the `PodDisruptionBudget` field can prevent the node drain.
====