Skip to content

Commit

Permalink
docs: iterate on version skew text to better introduce version skew
Browse files Browse the repository at this point in the history
  • Loading branch information
consideRatio committed May 7, 2024
1 parent 5d10807 commit 73f0672
Showing 1 changed file with 11 additions and 11 deletions.
22 changes: 11 additions & 11 deletions docs/howto/upgrade-cluster/k8s-version-skew.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
(upgrade-cluster:k8s-version-skew)=
# About Kubernetes' version skew policy

When we upgrade our Kubernetes clusters, we upgrade the k8s control plane (k8s
api-server etc.), the cloud providers managed workloads (`calico-node` etc.),
and the k8s node's software (`kubelet` etc.). Since these upgrades aren't done
at the exact same time, there are known constraints on how the various versions
can [_skew_] in relation to each other.
Kubernetes clusters' software running on various machines and is designed to
work even when various components gets upgraded independently of each other as
long as the components don't get too mismatching versions.

When we upgrade, we are practically constrained by [Kubernetes' version skew
policy] in the following ways:
The tolerated mismatch of versions between software components in a k8s cluster
is called the supported _version skew_, and Kubernetes provides a [version skew
policy] about this.

Practically for us, we need to know that:

1. Highly available clusters' control planes can only be upgraded one minor
version at a time (`api-server` requirement).

All of our new clusters and most of our old clusters are regional, so our
documentation assumes we need to respect this constraint.
All of our new clusters and most of our old clusters are highly available, so
our documentation assumes we need to respect this constraint.
2. Nodes' k8s version must not be newer than the control plane, and be at most
three minor versions older (`kubelet` requirement).

[_skew_]: https://www.industrialempathy.com/posts/version-skew/
[Kubernetes' version skew policy]: https://kubernetes.io/releases/version-skew-policy/#supported-version-skew
[version skew policy]: https://kubernetes.io/releases/version-skew-policy/#supported-version-skew

0 comments on commit 73f0672

Please sign in to comment.