kube-apiserver and kube-controller-manager, kube-scheduler, or cloud-controller-manager
For kube-apiserver and kube-controller-manager, kube-scheduler, or cloud-controller-manager, skew rule is They are expected to match the kube-apiserver minor version, but may be up to one minor version older (to allow live upgrades); max skew (minor versions) is 1; may the second component be newer? is no - these components must not be newer than the kube-apiserver instances they communicate with; worked example is kube-apiserver is at 1.37 kube-controller-manager, kube-scheduler, and cloud-controller-manager are supported at 1.37 and 1.36; newest release when captured is 1.37, recorded from its source on 2026-09-01; source re-checked 2026-09-16.
- Component pair
- kube-apiserver and kube-controller-manager, kube-scheduler, or cloud-controller-manager our reading
- Skew rule
- They are expected to match the kube-apiserver minor version, but may be up to one minor version older (to allow live upgrades). verified
- Max skew (minor versions)
- 1 our reading
- May the second component be newer?
- no - these components must not be newer than the kube-apiserver instances they communicate with our reading
- Worked example
- kube-apiserver is at 1.37 kube-controller-manager, kube-scheduler, and cloud-controller-manager are supported at 1.37 and 1.36 verified
- Newest release when captured
- 1.37 verified
- HA cluster caveat
- If version skew exists between kube-apiserver instances in an HA cluster, and these components can communicate with any kube-apiserver instance in the cluster (for example, via a load balancer), this narrows the allowed versions of these components. verified
- Upgrade prerequisite
- The kube-apiserver instances these components communicate with are at 1.37 verified
Values marked our reading are our classification of what the source says — the source does not print them in those words. The quote below is the evidence for each one; judge it yourself.
What the source says
kube-controller-manager, kube-scheduler, and cloud-controller-manager must not be newer than the kube-apiserver instances they communicate with. They are expected to match the kube-apiserver minor version, but may be up to one minor version older (to allow live upgrades).
— kubernetes.io, retrieved 2026-09-01
Where each value comes from
This source states these in separate places, so each value is shown with the passage that states it.
Worked example
Example: kube-apiserver is at 1.37 kube-controller-manager, kube-scheduler, and cloud-controller-manager are supported at 1.37 and 1.36
Newest release when captured
The Kubernetes project maintains release branches for the most recent three minor releases (1.37, 1.36, 1.35).
HA cluster caveat
Note: If version skew exists between kube-apiserver instances in an HA cluster, and these components can communicate with any kube-apiserver instance in the cluster (for example, via a load balancer), this narrows the allowed versions of these components.
Upgrade prerequisite
Pre-requisites: The kube-apiserver instances these components communicate with are at 1.37 (in HA clusters in which these control plane components can communicate with any kube-apiserver instance in the cluster, all kube-apiserver instances must be upgraded before upgrading these components)
— all from kubernetes.io, retrieved 2026-09-01
Source
- kubernetes.iohttps://kubernetes.io/releases/version-skew-policy/