You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/releases/version-skew-policy.md
+26-10Lines changed: 26 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,6 +61,25 @@ Example:
61
61
*`kube-apiserver` instances are at **{{< skew currentVersion >}}** and **{{< skew currentVersionAddMinor -1 >}}**
62
62
*`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 >}}**)
63
63
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
+
64
83
### kube-controller-manager, kube-scheduler, and cloud-controller-manager
65
84
66
85
`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.
162
181
{{</ note >}}
163
182
164
183
{{< 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.
169
185
{{</ warning >}}
170
186
171
187
### kube-proxy
172
188
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:
175
190
176
-
Example:
191
+
* The `kube-apiserver` instances `kube-proxy` communicates with are at **{{< skew currentVersion >}}**
177
192
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 >}}**)
179
194
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.
0 commit comments