deniz.in

Markets

Weather

Loading weather

· via dev.to (home feed)

Upgrade guides misstate Kubernetes 1.37 containerd removal; real deadline lands with 1.38

Widely read upgrade guides claim Kubernetes 1.37 removes containerd 1.x support, but the changelog defers the removal to 1.38, a mix-up that could push teams into premature migrations.

Upgrade guides misstate Kubernetes 1.37 containerd removal; real deadline lands with 1.38

What the guides get wrong

Kubernetes 1.37 shipped on August 26, 2026. Within two weeks, at least three widely read sites — a release-tracking aggregator, a software consultancy's news page, and a general upgrade-guide site — had told readers some version of the same thing: containerd 1.x is no longer supported, and nodes still running it will fail to boot a 1.37 kubelet.

According to a dev.to analysis published September 11, that claim contradicts the official record. The Kubernetes changelog for the 1.37 cycle (PR #139121, merged May 22, 2026) states that the kubelet's deprecated configuration flags, and the containerd CRI fallback behavior tied to them, were deferred from 1.37 to 1.38, explicitly to align with the end of containerd 1.7's support window. Kubernetes' own container-runtimes documentation points the same way, describing the fallback for older containerd versions as being dropped in 1.38 — wording that only makes sense if it still works in 1.37.

The sharpest detail in the dev.to post: one of the three incorrect sites lists the correct changelog in its own sources section while drawing the opposite conclusion in its FAQ, and a second links to that same changelog as its canonical release-notes reference before asserting the removal already happened. Neither is a fringe blog.

How the error spreads

The post attributes the propagation to incentives rather than bad faith. Changelogs are built for accuracy; upgrade FAQs reward speed; SEO-driven guides reward discoverability; aggregators reward simplicity. A breaking-change article published the day a release ships wins the search race for that release's upgrade queries, often before anyone has run the upgrade against a real cluster. A postponement generates no equivalent article — nobody expects a post announcing that a feared breaking change has been delayed to rank for anything. Later sites then cite the earlier incorrect site instead of returning to the changelog, and by the time clusters are actually upgraded and tested, the wrong deadline has already been copied into internal FAQs, migration runbooks and planning documents.

The post names this pattern "Source Interpretation Debt": guidance that keeps the appearance of source authority while drifting away from what the source actually says.

What a premature migration costs

Acting on the manufactured deadline carries architectural costs beyond documentation, the post argues. Runtime validation cycles get scheduled for a containerd 2.0 migration before any kubelet behavior demands it. Node images get rebuilt around a major-version runtime bump, a change with a very different risk profile from anything the 1.37 release itself contains. Support tickets get opened with EKS, GKE or AKS against a deadline that does not appear on the runtime's own calendar, and rollout sequencing gets compressed to hit a self-imposed date. Engineering hours spent testing against a deadline that does not exist are hours unavailable for the deadlines that do.

The deadline that is real

The post separates two dates that are being conflated. Containerd 1.7's extended support ends in September 2026 — but that window applies specifically to Kubernetes 1.30 through 1.32 on GKE, and outside that combination containerd 1.7 is already past its general maintenance window. That date is a support-policy deadline, not a Kubernetes enforcement deadline: nothing in 1.37 or 1.38 forces a runtime version at that point; the maintainer simply stops shipping patches.

For planning, the post points to the kubelet_cri_losing_support metric, an alpha-stability gauge that reports the Kubernetes version in which a node's running CRI implementation loses support. It also flags destination choice: containerd 2.3 is the current long-term-support line, maintained until April 30, 2028, while containerd 2.2 loses support November 6, 2026 and 2.1 has been end-of-life since July 2026. An intermediate hop to an older 2.x release buys little runway over a well-supported 1.7.

Why it matters

If the dev.to account is right, teams reading these guides are spending engineering hours on migrations no current Kubernetes release requires, while the quieter, real support deadlines receive comparatively less attention — an urgent, incorrect deadline can displace a calmer, accurate one precisely because of the urgency. It is also a broader caution about secondary sources: the presence of a citation is not proof that the claim beside it is faithful to the cited material, and for breaking-change decisions the changelog itself is the only source worth scheduling work against. This account rests on a single dev.to analysis, but its central claims are directly checkable against Kubernetes' changelog and runtime documentation.

  • #kubernetes
  • #containerd
  • #cloud
  • #upgrades
  • #misinformation

Related posts