Skip to content

Commit 57df323

Browse files
authored
Merge pull request #40932 from liggitt/kube-proxy
Clarify kube-proxy skew docs
2 parents 39c4a17 + 82cf7b0 commit 57df323

File tree

1 file changed

+26
-10
lines changed

1 file changed

+26
-10
lines changed

content/en/releases/version-skew-policy.md

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,25 @@ Example:
6161
* `kube-apiserver` instances are at **{{< skew currentVersion >}}** and **{{< skew currentVersionAddMinor -1 >}}**
6262
* `kubelet` is supported at **{{< skew currentVersionAddMinor -1 >}}**, and **{{< skew currentVersionAddMinor -2 >}}** (**{{< skew currentVersion >}}** is not supported because that would be newer than the `kube-apiserver` instance at version **{{< skew currentVersionAddMinor -1 >}}**)
6363

64+
### kube-proxy
65+
66+
`kube-proxy` must not be newer than `kube-apiserver`, and may be up to two minor versions older.
67+
`kube-proxy` may be up to two minor versions older or newer than the `kubelet` instance it runs alongside.
68+
69+
Example:
70+
71+
* `kube-apiserver` is at **{{< skew currentVersion >}}**
72+
* `kube-proxy` is supported at **{{< skew currentVersion >}}**, **{{< skew currentVersionAddMinor -1 >}}**, and **{{< skew currentVersionAddMinor -2 >}}**
73+
74+
{{< note >}}
75+
If version skew exists between `kube-apiserver` instances in an HA cluster, this narrows the allowed `kube-proxy` versions.
76+
{{</ note >}}
77+
78+
Example:
79+
80+
* `kube-apiserver` instances are at **{{< skew currentVersion >}}** and **{{< skew currentVersionAddMinor -1 >}}**
81+
* `kube-proxy` is supported at **{{< skew currentVersionAddMinor -1 >}}**, and **{{< skew currentVersionAddMinor -2 >}}** (**{{< skew currentVersion >}}** is not supported because that would be newer than the `kube-apiserver` instance at version **{{< skew currentVersionAddMinor -1 >}}**)
82+
6483
### kube-controller-manager, kube-scheduler, and cloud-controller-manager
6584

6685
`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).
@@ -162,20 +181,17 @@ In-place minor version `kubelet` upgrades are not supported.
162181
{{</ note >}}
163182

164183
{{< warning >}}
165-
Running a cluster with `kubelet` instances that are persistently two minor versions behind `kube-apiserver` is not recommended:
166-
167-
* they must be upgraded within one minor version of `kube-apiserver` before the control plane can be upgraded
168-
* it increases the likelihood of running `kubelet` versions older than the three maintained minor releases
184+
Running a cluster with `kubelet` instances that are persistently two minor versions behind `kube-apiserver` means they must be upgraded before the control plane can be upgraded.
169185
{{</ warning >}}
170186

171187
### kube-proxy
172188

173-
* `kube-proxy` must not be newer than `kube-apiserver`.
174-
* `kube-proxy` must be at most two minor versions older than `kube-apiserver.`
189+
Pre-requisites:
175190

176-
Example:
191+
* The `kube-apiserver` instances `kube-proxy` communicates with are at **{{< skew currentVersion >}}**
177192

178-
If `kube-proxy` version is **{{< skew currentVersionAddMinor -2 >}}**:
193+
Optionally upgrade `kube-proxy` instances to **{{< skew currentVersion >}}** (or they can be left at **{{< skew currentVersionAddMinor -1 >}}** or **{{< skew currentVersionAddMinor -2 >}}**)
179194

180-
* `kubelet` version must be at the same minor version as **{{< skew currentVersionAddMinor -2 >}}**.
181-
* `kube-apiserver` version must be between **{{< skew currentVersionAddMinor -2 >}}** and **{{< skew currentVersion >}}**, inclusive.
195+
{{< warning >}}
196+
Running a cluster with `kube-proxy` instances that are persistently two minor versions behind `kube-apiserver` means they must be upgraded before the control plane can be upgraded.
197+
{{</ warning >}}

0 commit comments

Comments
 (0)