You can update an OpenShift Container Platform 4 cluster with a single operation by using the web console or the OpenShift CLI (oc
).
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.
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:
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 previous 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.
This condition type is only an indication that something may need investigation and adjustment. As long as the Operator is available, the |
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.
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.
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.10 to 4.11, and then to 4.12. You cannot update from OpenShift Container Platform 4.10 to 4.12 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 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.
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.
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:
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:
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.
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:
Version 4.12 of OpenShift Container Platform requires VMware virtual hardware version 15 or later. |