kubernetes
Kubernetes Upgrade Path Planner
Plan your Kubernetes upgrade path from any version to any version. Kubernetes only allows upgrading one minor version at a time — calculate the number of hops and total time estimate.
Kubernetes Version Upgrade Strategy
Kubernetes releases 3 minor versions per year and supports the 3 most recent minor versions. Staying within the supported window means upgrading at minimum once per year.
Why One Minor Version at a Time
Each Kubernetes minor version may remove deprecated APIs that were available in the previous version. The API deprecation policy gives 2 releases of notice, but skipping versions risks hitting a removed API that breaks your workloads on the new apiserver.
Pre-Upgrade Checklist
- 1.Check deprecated APIs:
pluto detect-helm -A - 2.Back up etcd:
etcdctl snapshot save backup.db - 3.Read the release notes for each version in your path
- 4.Verify addon compatibility (CNI, CSI, ingress controller)
- 5.Test upgrade on a staging cluster first
kubeadm Upgrade Commands
# On first control plane
apt-get install kubeadm=1.30.0-1.1
kubeadm upgrade apply v1.30.0# On remaining control planes kubeadm upgrade node
# On each worker (after draining) apt-get install kubeadm=1.30.0-1.1 kubelet=1.30.0-1.1 kubectl=1.30.0-1.1 kubeadm upgrade node systemctl restart kubelet ```
Version Skew Policy
- ›kubectl can be ±1 minor version from apiserver
- ›kubelet must be ≤ apiserver version (never newer)
- ›kube-proxy must match kubelet version
- ›etcd: any version compatible with the K8s minor version (check release notes)
Cluster Add-on Compatibility
Check your CNI (Calico, Cilium, Flannel), CSI driver, ingress controller, and cert-manager compatibility matrix for the target K8s version before upgrading.
Key Terms
Full glossary →kubeadm
A tool for bootstrapping Kubernetes clusters. It automates the setup of control plane components and joining worker nodes, following Kubernetes best practices.
etcd
A distributed key-value store used by Kubernetes to store all cluster state and configuration. etcd is the single source of truth for the entire cluster.
cert-manager
A Kubernetes controller for automating TLS certificate management. cert-manager can issue certificates from Let's Encrypt, Vault, or internal CAs, and automatically renews them.
Helm
A package manager for Kubernetes. Helm charts bundle Kubernetes manifests into reusable packages with configurable values, versioned and published to chart repositories.
Frequently Asked Questions
Can I skip Kubernetes minor versions when upgrading?
No. Kubernetes only supports upgrading one minor version at a time (e.g., 1.28 → 1.29 → 1.30). Skipping versions is unsupported and will likely cause apiserver admission failures due to removed API versions.
How long does a Kubernetes upgrade take?
A single control plane upgrade takes ~20–30 minutes (package install + kubeadm upgrade apply). Each worker node takes ~10 minutes (drain + upgrade + uncordon). A 3-worker cluster per hop = ~50 minutes per minor version. Plan 4 hours for a 4-hop upgrade with testing time.
What is the upgrade order for kubeadm clusters?
1. Upgrade the first control plane node (kubeadm upgrade apply). 2. Upgrade remaining control plane nodes (kubeadm upgrade node). 3. Upgrade each worker node: drain → upgrade kubelet/kubectl → uncordon. 4. Verify cluster health. Never upgrade workers before control planes.
How do I check for deprecated APIs before upgrading?
Use `kubectl deprecations` (from the kubectl-deprecations plugin) or Pluto (by Fairwinds): `pluto detect-helm -A`. This shows which of your deployed resources use APIs that are removed in the target version.
Related Tools
K8s Cluster Cost
Calculate the monthly cost of running a Kubernetes cluster on Hetzner Cloud. Choose server types for control planes, workers, and load balancers with HA mode.
Cert Expiry
Calculate when your Kubernetes certificates expire and whether you need to renew them. kubeadm certificates are valid for 1 year — missing renewal breaks the cluster.
Related Generators
Related Comparisons
Related Guides
kubernetes
CI/CD for Kubernetes with GitHub Actions: A Complete Guide (2026)
A practical walkthrough of building a full GitHub Actions pipeline that builds a container image, pushes it to a registry, and deploys to Kubernetes — with secrets handling, rollback, and Helm support.
kubernetes
ArgoCD vs Flux: Choosing a GitOps Tool for Kubernetes in 2026
A no-fluff comparison of ArgoCD and Flux for GitOps on Kubernetes — covering architecture, UI, Helm support, multi-tenancy, and when to pick each one.
kubernetes
Hetzner vs DigitalOcean for Kubernetes in 2026: An Honest Comparison
Hetzner is 3–5× cheaper than DigitalOcean for equivalent Kubernetes compute. But DO has managed K8s, better global coverage, and a larger app marketplace. Here's when each is the right choice.