Chapter 1. Updating clusters overview You can update an OpenShift Container Platform 4 cluster with a single operation by using the web console or the OpenShift CLI ( oc ). 1.1. Understanding OpenShift Container Platform updates About the OpenShift Update Service : For clusters with internet access, Red Hat provides over-the-air updates by using an OpenShift Container Platform update service as a hosted service located behind public APIs. 1.2. Understanding update channels and releases Update channels and releases : With update channels, you can choose an update strategy. Update channels are specific to a minor version of OpenShift Container Platform. Update channels only control release selection and do not impact the version of the cluster that you install. The openshift-install binary file for a specific version of the OpenShift Container Platform always installs that minor version. For more information, see the following: Upgrading version paths Understanding fast and stable channel use and strategies Understanding restricted network clusters Switching between channels Understanding conditional updates 1.3. Understanding cluster Operator condition types The status of cluster Operators includes their condition type, which informs you of the current state of your Operator's health. The following definitions cover a list of some common ClusterOperator condition types. Operators that have additional condition types and use Operator-specific language have been omitted. The Cluster Version Operator (CVO) is responsible for collecting the status conditions from cluster Operators so that cluster administrators can better understand the state of the OpenShift Container Platform cluster. Available: The condition type Available indicates that an Operator is functional and available in the cluster. If the status is False , at least one part of the operand is non-functional and the condition requires an administrator to intervene. Progressing: The condition type Progressing indicates that an Operator is actively rolling out new code, propagating configuration changes, or otherwise moving from one steady state to another. Operators do not report the condition type Progressing as True when they are reconciling a known state. If the observed cluster state has changed and the Operator is reacting to it, then the status reports back as True , since it is moving from one steady state to another. Degraded: The condition type Degraded indicates that an Operator has a current state that does not match its required state over a period of time. The period of time can vary by component, but a Degraded status represents persistent observation of an Operator's condition. As a result, an Operator does not fluctuate in and out of the Degraded state. There might be a different condition type if the transition from one state to another does not persist over a long enough period to report Degraded . An Operator does not report Degraded during the course of a normal update. An Operator may report Degraded in response to a persistent infrastructure failure that requires eventual administrator intervention. Note This condition type is only an indication that something may need investigation and adjustment. As long as the Operator is available, the Degraded condition does not cause user workload failure or application downtime. Upgradeable: The condition type Upgradeable indicates whether the Operator is safe to update based on the current cluster state. The message field contains a human-readable description of what the administrator needs to do for the cluster to successfully update. The CVO allows updates when this condition is True , Unknown or missing. When the Upgradeable status is False , only minor updates are impacted, and the CVO prevents the cluster from performing impacted updates unless forced. 1.4. Understanding cluster version condition types The Cluster Version Operator (CVO) monitors cluster Operators and other components, and is responsible for collecting the status of both the cluster version and its Operators. This status includes the condition type, which informs you of the health and current state of the OpenShift Container Platform cluster. In addition to Available , Progressing , and Upgradeable , there are condition types that affect cluster versions and Operators. Failing: The cluster version condition type Failing indicates that a cluster cannot reach its desired state, is unhealthy, and requires an administrator to intervene. Invalid: The cluster version condition type Invalid indicates that the cluster version has an error that prevents the server from taking action. The CVO only reconciles the current state as long as this condition is set. RetrievedUpdates: The cluster version condition type RetrievedUpdates indicates whether or not available updates have been retrieved from the upstream update server. The condition is Unknown before retrieval, False if the updates either recently failed or could not be retrieved, or True if the availableUpdates field is both recent and accurate. ReleaseAccepted: The cluster version condition type ReleaseAccepted with a True status indicates that the requested release payload was successfully loaded without failure during image verification and precondition checking. ImplicitlyEnabledCapabilities: The cluster version condition type ImplicitlyEnabledCapabilities with a True status indicates that there are enabled capabilities that the user is not currently requesting through spec.capabilities . The CVO does not support disabling capabilities if any associated resources were previously managed by the CVO. 1.5. Preparing to perform an EUS-to-EUS update Preparing to perform an EUS-to-EUS update : Due to fundamental Kubernetes design, all OpenShift Container Platform updates between minor versions must be serialized. You must update from OpenShift Container Platform 4.9 to 4.10, and then to 4.11. You cannot update from OpenShift Container Platform 4.8 to 4.10 directly. However, if you want to update between two Extended Update Support (EUS) versions, you can do so by incurring only a single reboot of non-control plane hosts. For more information, see the following: Updating EUS-to-EUS 1.6. Updating a cluster using the web console Updating a cluster using the web console : You can update an OpenShift Container Platform cluster by using the web console. The following steps update a cluster within a minor version. You can use the same instructions for updating a cluster between minor versions. Performing a canary rollout update Pausing a MachineHealthCheck resource About updating OpenShift Container Platform on a single-node cluster Updating a cluster by using the web console Changing the update server by using the web console 1.7. Updating a cluster using the CLI Updating a cluster using the CLI : You can update an OpenShift Container Platform cluster within a minor version by using the OpenShift CLI ( oc ). The following steps update a cluster within a minor version. You can use the same instructions for updating a cluster between minor versions. Pausing a MachineHealthCheck resource About updating OpenShift Container Platform on a single-node cluster Updating a cluster by using the CLI Changing the update server by using the CLI 1.8. Performing a canary rollout update Performing a canary rollout update : By controlling the rollout of an update to the worker nodes, you can ensure that mission-critical applications stay available during the whole update, even if the update process causes your applications to fail. Depending on your organizational needs, you might want to update a small subset of worker nodes, evaluate cluster and workload health over a period of time, and then update the remaining nodes. This is referred to as a canary update. Alternatively, you might also want to fit worker node updates, which often requires a host reboot, into smaller defined maintenance windows when it is not possible to take a large maintenance window to update the entire cluster at one time. You can perform the following procedures: Creating machine configuration pools to perform a canary rollout update Pausing the machine configuration pools Performing the cluster update Unpausing the machine configuration pools Moving a node to the original machine configuration pool 1.9. Updating a cluster that includes RHEL compute machines Updating a cluster that includes RHEL compute machines : If your cluster contains Red Hat Enterprise Linux (RHEL) machines, you must perform additional steps to update those machines. You can perform the following procedures: Updating a cluster by using the web console Optional: Adding hooks to perform Ansible tasks on RHEL machines Updating RHEL compute machines in your cluster 1.10. Updating a cluster in a disconnected environment About cluster updates in a disconnected environment : If your mirror host cannot access both the internet and the cluster, you can mirror the images to a file system that is disconnected from that environment. You can then bring that host or removable media across that gap. If the local container registry and the cluster are connected to the mirror host of a registry, you can directly push the release images to the local registry. Preparing your mirror host Configuring credentials that allow images to be mirrored Mirroring the OpenShift Container Platform image repository Updating the disconnected cluster Configuring image registry repository mirroring Widening the scope of the mirror image catalog to reduce the frequency of cluster node reboots Installing the OpenShift Update Service Operator Creating an OpenShift Update Service application Deleting an OpenShift Update Service application Uninstalling the OpenShift Update Service Operator 1.11. Updating hardware on nodes running in vSphere Updating hardware on vSphere : You must ensure that your nodes running in vSphere are running on the hardware version supported by OpenShift Container Platform. Currently, hardware version 15 or later is supported for vSphere virtual machines in a cluster. For more information, see the following: Updating virtual hardware on vSphere Scheduling an update for virtual hardware on vSphere 1.12. Updating a cluster that includes the Special Resource Operator Updating a cluster that includes the Special Resource Operator : When updating a cluster that includes the Special Resource Operator (SRO), it is important to consider whether the new kernel module version is compatible with the kernel modules currently loaded by the SRO. You can run a preflight check to confirm if the SRO will be able to upgrade the kernel modules. Important Using hardware version 13 for your cluster nodes running on vSphere is now deprecated. This version is still fully supported, but support will be removed in a future version of OpenShift Container Platform. Hardware version 15 is now the default for vSphere virtual machines in OpenShift Container Platform.

Commands: