openshift

🚀 Understanding the OpenShift Cluster Upgrade Workflow

Keeping an OpenShift cluster up to date is more than installing a new version. A well-planned upgrade ensures your applications remain available while the platform safely updates every critical component in the correct order.

One important detail that’s often overlooked is that OpenShift doesn’t upgrade the control plane or worker nodes first. Instead, the Cluster Version Operator (CVO) orchestrates the entire upgrade process by updating cluster operators before any node upgrades begin.

Let’s walk through the actual OpenShift cluster upgrade workflow.


Why Upgrade OpenShift?

Regular upgrades help you:

  • Access new features and enhancements
  • Improve cluster security
  • Receive bug fixes and performance improvements
  • Stay on a supported OpenShift release
  • Reduce operational risk

Because OpenShift manages the entire platform, upgrades are automated and performed in a controlled sequence.


OpenShift Cluster Upgrade Workflow

✅ Step 1: Perform Pre-Upgrade Checks

Before starting the upgrade, ensure your cluster is ready.

Recommended checks:

  • Review release notes
  • Verify the compatibility matrix
  • Check Cluster Operator health
  • Confirm all nodes are Ready
  • Identify deprecated APIs
  • Backup critical workloads and cluster configuration
  • Verify sufficient cluster resources

A healthy cluster is the foundation of a successful upgrade.


✅ Step 2: Update CLI Tools

Upgrade your administration tools to match the target OpenShift version.

This includes:

  • oc CLI
  • Automation scripts
  • CI/CD pipelines (if applicable)

Also verify connectivity and administrative access before proceeding.


✅ Step 3: Start the Cluster Upgrade

Initiate the upgrade using either:

oc adm upgrade

or through the OpenShift Web Console using the OpenShift Update Service (OSUS).

Once the upgrade begins, the Cluster Version Operator (CVO) takes control of the entire process.


✅ Step 4: Cluster Version Operator (CVO) Updates the Platform

This is the core of the OpenShift upgrade process.

The Cluster Version Operator (CVO) is upgraded first and then coordinates updates across the entire platform.

The CVO:

  • Determines the desired OpenShift release
  • Downloads release payloads
  • Applies manifests
  • Coordinates component upgrades
  • Tracks upgrade progress
  • Handles retries when necessary

Think of the CVO as the orchestrator responsible for upgrading the entire cluster.


✅ Step 5: Upgrade Cluster Operators

Before any node is upgraded, the CVO updates the Cluster Operators.

Examples include:

  • Authentication Operator
  • API Server Operator
  • Controller Manager Operator
  • Scheduler Operator
  • Machine Config Operator (MCO)
  • Networking Operator
  • Image Registry Operator
  • Monitoring Operator
  • Ingress Operator
  • Storage Operators

Each operator is upgraded and validated before moving to the next stage.

This ensures the platform components are running the new version before the underlying nodes are updated.


✅ Step 6: Upgrade the Control Plane

After the operators are healthy, OpenShift upgrades the control plane nodes.

The process is sequential:

  • Upgrade one control plane node
  • Reboot if required
  • Wait until it becomes Ready
  • Continue with the next node

Throughout the upgrade:

  • The Kubernetes API remains available.
  • The etcd quorum is maintained.
  • Cluster management continues without interruption.

✅ Step 7: Upgrade Worker Nodes

Next, the Machine Config Operator (MCO) upgrades worker nodes.

For each worker node, OpenShift:

  1. Cordon the node
  2. Drain application workloads
  3. Apply the new machine configuration
  4. Reboot if required
  5. Validate node health
  6. Return the node to the cluster

The process repeats one node at a time, ensuring application availability during the upgrade.


✅ Step 8: Perform Post-Upgrade Validation

Once the upgrade is complete, verify that everything is operating correctly.

Check:

  • All Cluster Operators report Available=True
  • No operators are degraded
  • All nodes are Ready
  • Applications are running normally
  • Routes and networking function correctly
  • Storage volumes are healthy
  • Monitoring and logging services are operational

A successful validation confirms the cluster is fully upgraded and stable.


Complete Upgrade Flow

Pre-Upgrade Checks
        │
        â–¼
Update oc CLI & Admin Tools
        │
        â–¼
Start Cluster Upgrade
        │
        â–¼
Cluster Version Operator (CVO)
        │
        â–¼
Upgrade Cluster Operators
        │
        â–¼
Upgrade Control Plane Nodes
        │
        â–¼
Upgrade Worker Nodes (via MCO)
        │
        â–¼
Post-Upgrade Validation

Key Takeaways

  • The Cluster Version Operator (CVO) orchestrates the entire upgrade process.
  • Cluster Operators are upgraded before any node upgrades begin.
  • Control plane nodes are upgraded sequentially to maintain API availability.
  • Worker nodes are upgraded one at a time using the Machine Config Operator (MCO).
  • Rolling upgrades minimize disruption and help maintain application availability throughout the process.

Conclusion

An OpenShift cluster upgrade is a carefully orchestrated process rather than a simple version update. The Cluster Version Operator coordinates the upgrade by first updating platform operators, then the control plane, and finally the worker nodes. This phased approach ensures consistency, reliability, and minimal downtime, allowing applications to remain available while the platform evolves.

Upgrade Strategy: Plan → Validate → Start Upgrade → CVO Updates Platform → Upgrade Cluster Operators → Upgrade Control Plane → Upgrade Worker Nodes → Verify Cluster Health

Leave a Reply

Your email address will not be published. Required fields are marked *