OpenShift 4.19 is running out of support. Do you park on 4.22 or keep going to 5.0?
OpenShift 4.19 leaves support on December 17 with no extension, and 5.0 arrived without EUS. Here's how to choose between holding on 4.22 and moving to 5.0, cluster by cluster.
part 26 of 28 · Platform releases, explained from scratchthe ideaOnce 4.19 is gone, you either park on 4.22 or keep climbing to 5.0.
after reading, you can- Decide per cluster whether 4.19 should stop at 4.20, hold on 4.22 or carry on to 5.0
- Plan the climb into 5.0, which today only works from 4.22.17 or later
- Spot the 5.0 changes that need their own work: RHCOS 10.2, HAProxy 3.2, Helm v4 and OLM v1
OpenShift 4.19 runs out of maintenance support on December 17, and odd-numbered versions can't buy any extension. OpenShift 5.0 came out this week, so a lot of platform teams now have two questions at once. Move every 4.19 cluster to 4.20 before the deadline, then decide calmly whether it stops at 4.22 with extended support or carries on to 5.0. This guide lays out both routes, what 5.0 actually changes and the checks to run before you book a weekend.
Your 4.19 clusters need a new home. The real choice is how far past 4.20 they go
OpenShift is the platform a lot of companies use to run their own applications in containers, in their data center or in the cloud. Red Hat supports each version for a fixed time. 4.19 reaches the end of that time in December, so those clusters have to climb at least one version. Above that you can stop on 4.22, the last 4.x release, and pay for extended support that runs to mid-2029. Or you keep going to 5.0, which is newer but gets no extended support at all. Red Hat's long-support releases in the 5.x line start at 5.2.
Picture a lease ending on your office. You can renew the old building for years at a known rent, or move into the new tower now, before the long-lease floors in it open up. Both work. You just don't want to move twice in eighteen months by accident.
- Companies running OpenShift 4.19
- Teams on 4.20 or 4.22 planning next year
- IT leaders budgeting support add-ons
- Software vendors certifying on OpenShift
Why it matters to you
When 4.19 support ends, nothing breaks that night. What stops is Red Hat shipping security fixes for it, and auditors and cyber insurers tend to notice an unsupported platform before anything else does. Clusters on 4.19 need a hop to 4.20 as a minimum, and that hop has its own checks.
The second decision costs more if you get it wrong. A cluster that rushes to 5.0 lands on a version whose support ends in late 2028 with nothing to buy after it. A cluster parked on 4.22 with both EUS terms is covered until mid-2029, but it skips the 5.x changes that will eventually arrive anyway. Pick per cluster, and write the reason down.
-
01 4.19 to 4.20
One ordinary minor update. It gets the cluster back on a supported EUS release before December 17.
-
02 Pick a stop
Decide per cluster: settle on 4.20 for now, climb to 4.22 for the longest runway, or plan to reach 5.0.
-
03 4.20 to 4.22, workers paused
A Control Plane Only update through 4.21. The control plane moves twice and each worker reboots once.
-
04 4.22.17+ to 5.0
An in-place minor update with no rebuild. Today it's offered only on the fast-5.0 and candidate-5.0 channels.
-
05 Nodes to RHCOS 10.2
Optional on 5.0 and all-or-nothing. Upgraded clusters stay on RHCOS 9 until you move every node.
The path into 5.0 matters more than the number. Red Hat's update graph, checked on November 3, only offers 5.0 from 4.22.17 through 4.22.21, and only in the fast-5.0 and candidate-5.0 channels. The stable-5.0 channel had no 4.x entry yet. Production clusters are meant to sit on stable, eus or fast channels, so most teams will wait for stable anyway.
What 5.0 changes, and what it leaves alone
Red Hat's docs call the move from 4.x to 5.0 an in-place update that works like any other minor update, with no cluster rebuild and no manual data migration. The release runs Kubernetes 1.36 with the CRI-O runtime. The changes that matter for planning sit underneath: the node operating system, ingress, Helm and how operators get their permissions.
The 5.0 changes that affect an upgrade plan
Upgraded clusters keep RHCOS 9 until you move them. When you do, every node has to go: mixed 9 and 10.2 clusters aren't supported, and there's no way back to 9.
RHCOS 9.x is deprecated in 5.0 and planned for removal in 5.3, so the node OS move can wait, but only for a while.
runC is deprecated. A cluster still on runC can't move its nodes to RHCOS 10.2 until it's switched to crun.
The default ingress HAProxy moves from 2.8 to 3.2. Set spec.haproxyVersion to 2.8 on 4.22 first to defer the 3.2 changes. Even 5.0's 2.8 build checks requests more strictly than 4.22's did.
Helm v3 still works next to Helm v4 on 5.0. It won't be there in 5.1, and the web console already uses the Helm v4 SDK.
OLM v1 now installs extensions with its own cluster-admin service account. The ClusterExtension serviceAccount field is deprecated and ignored.
Custom discovery URLs, CEL claim mapping and user validation rules no longer need the TechPreviewNoUpgrade feature set.
An AI client can now look around a cluster through it, read-only and limited by RBAC. In 4.22 it was still a Technology Preview, with limited support from Red Hat.
Go-based TLS servers offer the X25519MLKEM768 hybrid group by default. It isn't FIPS-approved, so FIPS-mode components ignore it.
The Technology Preview Node Observability Operator is gone, and so is adding kernel modules with kmods-via-containers.
The node OS change is the one to plan around. RHCOSdefinitionRed Hat Enterprise Linux CoreOS, the operating system on every OpenShift node. 5.0 installs RHCOS 10.2 by default, and upgraded clusters keep RHCOS 9 until moved. 10.2 is optional after the upgrade, but RHCOS 9 is on a clock that runs out at 5.3, and the switch is a one-way, every-node event. Red Hat's known issues also list a 30 to 50 percent drop in throughput for messages under 4 KB on the RHEL 10 stream. Anything chatty, like a message bus or small RPC calls, needs testing on 10.2 before you move production nodes.
Ingress is the change app owners will feel first. With HAProxy moving from 2.8 to 3.2, request validation, error codes and keep-alive handling can act differently after the update. Pinning 2.8 on the 4.22 Ingress Controllers puts off the error-code and keep-alive changes, though 5.0's 2.8 build already validates requests more tightly. Update, then test 3.2 on a non-production controller. Red Hat keeps 2.8 in 5.0 only for migration and plans to remove it later.
Two more changes arrive with 5.1 but need work now. Helm v3 disappears from the CLI, so pipelines that call helm need moving to v4. And Red Hat plans to switch ReadWriteOnce and ReadWriteMany volumes to the SELinux mount option by default in 5.1. Clusters with workloads that would break get flagged and can't update until someone fixes them or opts them out.
4.20, 4.22 and 5.0 side by side
| Detail | 4.20 | 4.22 | 5.0 |
|---|---|---|---|
| Released | Oct 21, 2025 | Jun 9, 2026 | Nov 3, 2026 |
| Kubernetes | 1.33 | 1.35 | 1.36 |
| Standard support ends | Apr 21, 2027 | Dec 31, 2027 | Nov 30, 2028 |
| EUS Term 1 ends | Oct 21, 2027 | Jun 30, 2028 | Not offered |
| EUS Term 2 ends | Oct 21, 2028 | Jun 30, 2029 | Not offered |
| Node OS | RHCOS 9 | RHCOS 9 (RHEL 10 install in Tech Preview) | RHCOS 10.2 default for new installs |
| Path from 4.19 | One minor update | 4.20, then a Control Plane Only update | Via 4.22.17 or later |
Dates that drive the decision
- Nov 3, 2026OpenShift 5.0 released
Offered from 4.22.17 and later in fast-5.0 and candidate-5.0. Stable comes later.
- Dec 17, 20264.19 maintenance ends
It's an odd version, so there's nothing to buy after this. Get those clusters to 4.20 first.
- Dec 31, 20264.22 leaves Full Support
It still gets qualifying security fixes in Maintenance Support until the end of 2027.
- Apr 21, 20274.20 maintenance ends
If you own EUS Term 1, 4.20 keeps getting fixes until October 2027. Without it, this is the end.
- Nov 30, 20275.0 leaves Full Support
From here 5.0 is in Maintenance Support, which mostly means security fixes. Every 5.x minor gets about a year of Full Support, and for 5.0 it runs to the end of November 2027.
- Nov 30, 20285.0 maintenance ends
Nothing to buy after it. By then the cluster needs to be on a later 5.x.
- Jun 30, 20294.22 EUS Term 2 ends
The longest runway any 4.x cluster can buy today.
| Option | Updates needed | Supported until | What it costs you | Best when |
|---|---|---|---|---|
| Stop on 4.20 | One minor update | Apr 21, 2027, or Oct 21, 2028 with both EUS terms | Another hop next year if you don't buy EUS | The deadline is close and the cluster has no other blockers cleared |
| Climb to 4.22 and hold | 4.20, then a Control Plane Only update to 4.22 | Dec 31, 2027, or Jun 30, 2029 with both EUS terms | EUS add-on fees, and a later jump to 5.x anyway | Regulated or vendor-certified workloads that hate change |
| Go on to 5.0 | 4.20, 4.22.17 or later, then 5.0 | Nov 30, 2028, no extension | One more update and the RHCOS 10, Helm v4 and HAProxy work | Teams that update every few months and want new features |
| Wait for 5.2 with ELC | Hold on 4.22 under EUS, then climb | Up to 60 months on 5.2 with the add-on | A long gap, then several hops in one project | Estates that want one long-support stop in 5.x |
- Supported to June 2029 with both terms
- Kubernetes 1.35 and RHCOS 9 stay put
- HAProxy 2.8 and Helm v3 keep working
- Pay for the EUS add-ons
- The 5.x work waits, it doesn't go away
- Support ends November 2028 and can't be extended
- Kubernetes 1.36 and the 5.0 features
- RHCOS 10.2, HAProxy 3.2 and Helm v4 to plan
- No EUS fees, but a 5.x update every year or so
- Earliest way onto the new support model
How the climb actually runs
Before: a 4.19 cluster with weeks of support left
Control plane and workers sit on 4.19 on RHCOS 9. Ingress runs HAProxy 2.8, operators came in through OLM, and CI pipelines call the Helm v3 CLI.
After: the cluster is on 5.0 and the next moves are booked
The cluster runs 5.0 with HAProxy pinned until 3.2 is tested. Nodes move to RHCOS 10.2 in one planned change, and pipelines are on Helm v4 before 5.1.
Getting a 4.19 cluster to its new home, one hop at a time
- 01Inventory and pick a target per cluster
Start with a list of every cluster and what runs on it, down to the operators and any vendor certifications. Then pick a stop for each one. Most estates end up with a mix.
- 02Rehearse on a matching cluster
Run the whole path on a non-production cluster with the same operators, storage and ingress setup, and time each step. You'll want those numbers for the change request.
- 034.19 to 4.20 before December 17
Set the stable-4.20 or eus-4.20 channel, run oc adm upgrade recommend, take an etcd backup and update. Every node reboots once on this hop.
- 044.20 to 4.22 with the workers paused
Switch to eus-4.22 and pause the non-control-plane pools. The control plane goes through 4.21 to 4.22, then you unpause and each worker reboots once.
- 05Get to 4.22.17 or later
Only 4.22.17 through 4.22.21 had an edge to 5.0 on November 3. Clusters on an older 4.22 z-stream need that patch update first.
- 06Prepare 4.22 for 5.0
Pin HAProxy 2.8 if you want it, move pipelines to Helm v4, switch any runC nodes to crun and check SELinux readiness alerts ahead of 5.1.
- 07Update to 5.0 when stable opens
Move to stable-5.0 once Red Hat publishes the 4.22 edge there. Fast-5.0 is supported for production, but stable is where most teams should wait.
- 08Move nodes to RHCOS 10.2 separately
Treat it as its own change, after 5.0 has settled. Test small-message throughput first, then move every node, since mixed clusters aren't supported.
What to do now, by role
Who does what before December 17
- Ask for a one-page list of clusters, versions and support end dates, with a proposed target for each.
- Ask the Red Hat account team which EUS add-ons you already own for 4.20 and 4.22. You may have paid for runway nobody's using.
- Approve the 4.19 to 4.20 window now. It's the only part with a hard deadline this year.
- Run oc get clusterversion and oc adm upgrade recommend on every cluster, logged in with a token rather than system:admin.
- Take an etcd backup before each hop and confirm you can restore it on a test cluster.
- Check each Ingress Controller for spec.haproxyVersion and decide whether to pin 2.8 before 5.0.
- Find nodes still on runC and plan the switch to crun.
- Move pipelines and scripts from the Helm v3 CLI to Helm v4 before anyone touches 5.1.
- Test apps behind routes on a HAProxy 3.2 Ingress Controller, including timeouts and header handling.
- Check whether any workload sends lots of small messages and get it load-tested on RHCOS 10.2.
- Find out who can create ClusterExtension objects. OLM v1 now installs with its own cluster-admin account, so that list matters.
- Re-test identity provider sign-in and group sync on the rehearsal cluster after each hop.
- List service accounts, pull secrets and tokens the upgrade touches, and confirm who owns each one.
# Run these first. They show the version, the channel and what's next $ oc get clusterversion $ oc adm upgrade recommend # Log in with a token first: system:admin certificates skip the alert checks # Pools you can pause for the 4.20 to 4.22 hop $ oc get mcp # HAProxy pin on each Ingress Controller (empty means 3.2 after 5.0) $ oc get ingresscontroller -n openshift-ingress-operator -o custom-columns=NAME:.metadata.name,HAPROXY:.spec.haproxyVersion # Switch channel when it's time $ oc adm upgrade channel eus-4.22
The identity side of the upgrade
Upgrades tend to break sign-in in quiet ways. Somebody can't log in to the console on Monday, a group stops mapping to a role, or a pipeline token stops working. An issue on the openshift/origin GitHub tracker reports Prometheus cookie authentication disappearing after a 4.16 patch update, which shows how small updates can still change auth behavior. Test logins and group sync on the rehearsal cluster after every hop, with a real user from each group.
5.0 also changes who holds power. OLM v1definitionThe newer Operator Lifecycle Manager that installs operators as ClusterExtension objects. In 5.0 it does this with its own cluster-admin service account. now installs every cluster extension with its own cluster-admin service account, and the per-extension service account field is ignored. Anyone allowed to create a ClusterExtension can effectively get cluster-admin software installed, so Red Hat's guidance is to control that with RBAC and validating admission policies. Check who has that right before the update, while the list is still short.
There's good news for teams using direct OIDC. The advanced authentication fields, covering custom discovery URLs, CEL claim mapping and user validation rules, are generally available in 5.0. If you held off because they needed the TechPreviewNoUpgrade feature set, which blocks updates, you can plan for them now. External claims sourcing, which pulls groups from UserInfo or Microsoft Graph when the token is too large, is still Technology Preview.
Harden it so the next hop hurts less
- 01One eus or stable channel per cluster, written down
Record the channel and target for each cluster in Git with the rest of its config. Nobody should be guessing on update night.
- 02Restrict ClusterExtension rights
Grant create and update on ClusterExtension objects to a small platform group only. Red Hat suggests RBAC plus validating admission policies for this, so put both in place before 5.0.
- 03Keep secrets out of pods
On 5.0 the Secrets Store CSI Driver can sign in to Vault or a cloud secret store with short-lived service account tokens. Switch to that and retire the long-lived keys sitting in pods.
- 04Watch the readiness alerts all year
Alert on SELinux mount readiness and removed-API warnings so app teams fix them in normal sprints, not in the change window.
- 05Keep a canary pool
Put a few workers in their own MachineConfigPool and let them update first, so a bad node image shows up on three machines instead of thirty.
If the upgrade goes wrong
If an update stalls or breaks halfway
You can't roll an OpenShift cluster back, so this is about containing the damage and fixing forward with Red Hat.
- 01Holdfirst hour
- Don't force the update or skip checks. Leave paused worker pools paused.
- Freeze other changes on the cluster. Then tell app owners which of their services are degraded, so nobody starts debugging the wrong thing.
- Run oc adm upgrade and oc get clusteroperators to find the operator that's stuck.
- 02Gather evidencefirst hours
- Collect oc adm must-gather output and the cluster version conditions.
- Send that output to Red Hat in a support case. They'll still help you upgrade off a version that's out of support, so don't hold back because of the dates.
- 03Fix forwardfirst day
- Fix what the status points at: an operator version, a HAProxy pin the target doesn't accept, a node that won't drain.
- Let the update finish, then unpause workers in small batches and watch each pool.
- 04Restore appsonly if needed
- Use the etcd backup only as a last resort, as Red Hat warns a restore can destabilize a running cluster.
- If the cluster can't be saved, build a new one and redeploy from Git.
- 05Learnnext week
- Write down what blocked the update and add a check for it to the rehearsal list.
- Update the per-cluster plan and support dates before the next hop.
What this looks like in practice
Three OpenShift estates and what each should do
- the setup
- A SaaS team followed the stable channel one minor at a time and runs four clusters on 4.19. They update often and want 5.0 features next year.
- what happens
- 4.19 maintenance ends in December with nothing to buy. Going straight to 5.0 isn't possible: the only edges come from 4.22.17 or later.
- what to do
- Update to 4.20 now, then 4.22 with workers paused in January. Move to 5.0 once stable-5.0 lists 4.22, after Helm v4 and HAProxy tests pass.
- the setup
- A regional bank runs a payments product certified by its vendor on 4.20 EUS. The vendor hasn't said anything about 5.0.
- what happens
- Moving to 5.0 now would leave the app uncertified and the cluster on a version with no extension after November 2028.
- what to do
- Plan a Control Plane Only update to 4.22, buy EUS terms through mid-2029 and ask the vendor for its 5.x certification dates. Revisit when 5.2 brings ELC.
- the setup
- A retailer runs order events through a message broker on OpenShift, with lots of small messages. Its platform team wants 5.0 and RHCOS 10.2 together.
- what happens
- Red Hat lists 30 to 50 percent lower throughput for small messages on the RHEL 10 stream. Moving every node at once could slow order processing.
- what to do
- Update to 5.0 and keep RHCOS 9 for now. Load-test the broker on a 10.2 test cluster and move nodes only after the numbers hold, well before 5.3.
How Cohash helps: we work with your platform team through the whole climb, from the first cluster list to the last worker pool. Short of people? We can put an OpenShift administrator on contract until it's done. Read how we work on our OpenShift page, where you can also hire OpenShift engineers, look at our cloud management practice, or book an assessment. Every 4.x date is in our OpenShift support dates guide.
What to take from this
- 01
4.19 maintenance ends December 17, 2026 with no extension. Update those clusters to 4.20 first.
- 02
You can't jump from 4.19 or 4.20 straight to 5.0. Red Hat only offers 5.0 from 4.22.17 or later, and only in the fast and candidate channels for now.
- 03
5.0 gets 24 months of support and no extension. A 4.22 cluster with both EUS terms is covered until June 30, 2029.
- 04
The first 5.x release with the Extended Life Cycle add-on is 5.2, so long-support estates may want to hold on 4.22.
- 05
Plan RHCOS 10.2, HAProxy 3.2 and Helm v4 as separate changes. RHCOS 9 leaves in 5.3 and Helm v3 in 5.1.
- 06
Check who can create ClusterExtension objects before 5.0, because OLM v1 now installs extensions as cluster admin.
01When does OpenShift 4.19 support end?
Maintenance support for 4.19 ends December 17, 2026. It's an odd-numbered version, so there's no EUS to buy. Update those clusters to 4.20 or later before then.
02Can I skip 4.22 and go from OpenShift 4.19 or 4.20 straight to 5.0?
No. On November 3, 2026, Red Hat's update graph offered 5.0 only from 4.22.17 through 4.22.21. A 4.19 cluster goes to 4.20, then to 4.22 with a Control Plane Only update, then to 5.0.
03Do I have to rebuild my cluster to get to OpenShift 5.0?
It's in place. Red Hat's docs say it works like any minor update, with no cluster rebuild or manual data migration. The node OS move to RHCOS 10.2 is a separate, optional step afterwards.
04Does OpenShift 5.0 have EUS?
No. 5.0 gets 12 months of Full Support and 12 of Maintenance Support, ending November 30, 2028. The 5.x replacement for EUS is the Extended Life Cycle add-on, offered from 5.2, then 5.5 and 5.8.
05How long can I stay on OpenShift 4.22?
Until the end of 2027 on standard support. If you buy both EUS terms, that stretches to June 30, 2029, which is the longest any 4.x cluster can stay put today.
06Is fast-5.0 safe for production?
Red Hat says production clusters should use stable, eus or fast channels, so fast is allowed. Most teams still wait for stable-5.0, which had no 4.22 edge on November 3.
07My cluster is on 4.22. What will catch us out on the way to 5.0?
Plan for the ingress HAProxy change from 2.8 to 3.2, pipelines on the Helm v3 CLI before 5.1, nodes still on runC, and anyone who relied on per-extension service accounts in OLM v1.
Three questions, about a minute
Pick an answer and we'll tell you if it's right, and why it is or isn't. The score stays in this browser.
-
Q1A cluster runs 4.19 and the team wants 5.0 as soon as possible. What's the first update?
show the answer
B. 4.19 to 4.20, then on toward 4.22.17 or later 5.0 is only offered from 4.22.17 and later, and Control Plane Only updates work between even versions. So 4.19 goes to 4.20 first, which also beats the December deadline.
-
Q2Your vendor-certified app can't move often. Where do you park it for the longest support you can buy?
show the answer
D. 4.22 with EUS Term 1 and Term 2 4.22 with both EUS terms is covered to June 30, 2029. 5.0 ends November 30, 2028 with no add-on, and 4.20 Term 2 ends in October 2028.
-
Q3After moving to 5.0, the team wants half the nodes on RHCOS 10.2 as a trial. Is that a good plan?
show the answer
B. No, mixed RHCOS 9 and 10.2 clusters aren't supported, so test on a separate cluster Red Hat doesn't support a mix of RHCOS 9 and 10.2 nodes, and there's no way back to 9. Test on its own cluster, then move every node.