Skip to content

docs: Kubernetes cluster upgrade guidance for Enterprise [PLTF-3308] - #709

Merged
dylan-openhands merged 4 commits into
mainfrom
dj/k8s_upgrade_guidance
Aug 10, 2026
Merged

docs: Kubernetes cluster upgrade guidance for Enterprise [PLTF-3308]#709
dylan-openhands merged 4 commits into
mainfrom
dj/k8s_upgrade_guidance

Conversation

@dylan-openhands

Copy link
Copy Markdown
Contributor
  • I have read and reviewed the documentation changes to the best of my ability.
  • If the change is significant, I have run the documentation site locally and confirmed it renders as expected.

Summary of changes

Self-hosted operators upgrading a cluster under OpenHands hit a trap we had documented nowhere: sandbox pods carry a zero-tolerance PodDisruptionBudget, so a routine node pool drain doesn't fail — it hangs indefinitely on a node stuck in SchedulingDisabled, with no obvious signal about why. This adds a page that says so up front and walks through what to do.

The framing is deliberately narrow: how to upgrade a cluster running OpenHands, in the order you'd actually do it, with the Sysbox pool as the only part that needs a decision.

  • enterprise/k8s-install/upgrade-guidance.mdx (new) — control plane and ordinary node pools are plain upgrades, with the usual pre-flight (deprecated API review, one minor at a time, control-plane upgrades are one-way). The Sysbox pool forks into two tabbed options: a maintenance window (cordon, drain to zero sandboxes, upgrade in place) or blue/green (second pool at the target version, cordon the old one, let it empty by attrition). Both converge on the same requirement — get the pool to zero sandboxes and the PDB goes inert.
  • docs.json — nav entry in the K8s Install group, after Resource Limits.
  • enterprise/k8s-install/index.mdx — card on the section index.

Guidance is cloud-agnostic (GKE/EKS/AKS or self-managed) and advisory rather than a runbook — provider docs stay the source of truth for mechanics.

Verified with mint dev: page returns 200, all headings and both tabs render, no server errors.

@mintlify

mintlify Bot commented Aug 10, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
all-hands-ai 🟢 Ready View Preview Aug 10, 2026, 2:52 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.


Upgrade in this order: control plane first, then your ordinary node pools, then the Sysbox pool. Never let nodes run ahead of the control plane. Only the sysbox node pool may need special handling

Our own installations of OpenHands have been confirmed up to Kubernetes version `1.35.6`

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this okay to keep? Just asking for maintenance. Will we have to update it every X months?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I think it's "our" job to ensure customers are aware of any "gotchas" with supported k8s versions. It wouldn't be up to them to review our API's to make sure they can safely upgrade.

However you're totally right and this doc doesn't feel like the right place for this. Whenever relevant, our release notes, announcements or changelogs should give guidance on what k8s versions are now tested and supported with openhands.

TL;DR good call i'll remove it 😄

@dylan-openhands
dylan-openhands merged commit 05ac60d into main Aug 10, 2026
5 checks passed
@dylan-openhands
dylan-openhands deleted the dj/k8s_upgrade_guidance branch August 10, 2026 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants