Skip to content

Commit 160d68b

Browse files
silenceshellbottlebthu
authored andcommitted
kubeadm-upgrade should upgrade to current branch version other than the latest version
1 parent 0a4887e commit 160d68b

File tree

2 files changed

+58
-33
lines changed

2 files changed

+58
-33
lines changed

content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ weight: 20
99
<!-- overview -->
1010

1111
This page explains how to upgrade a Kubernetes cluster created with kubeadm from version
12-
{{< skew latestVersionAddMinor -1 >}}.x to version {{< skew latestVersion >}}.x, and from version
13-
{{< skew latestVersion >}}.x to {{< skew latestVersion >}}.y (where `y > x`). Skipping MINOR versions
12+
{{< skew currentVersionAddMinor -1 >}}.x to version {{< skew currentVersion >}}.x, and from version
13+
{{< skew currentVersion >}}.x to {{< skew currentVersion >}}.y (where `y > x`). Skipping MINOR versions
1414
when upgrading is unsupported.
1515

1616
To see information about upgrading clusters created using older versions of kubeadm,
1717
please refer to following pages instead:
1818

19-
- [Upgrading a kubeadm cluster from {{< skew latestVersionAddMinor -2 >}} to {{< skew latestVersionAddMinor -1 >}}](https://v{{< skew latestVersionAddMinor -1 "-" >}}.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
20-
- [Upgrading a kubeadm cluster from {{< skew latestVersionAddMinor -3 >}} to {{< skew latestVersionAddMinor -2 >}}](https://v{{< skew latestVersionAddMinor -2 "-" >}}.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
21-
- [Upgrading a kubeadm cluster from {{< skew latestVersionAddMinor -4 >}} to {{< skew latestVersionAddMinor -3 >}}](https://v{{< skew latestVersionAddMinor -3 "-" >}}.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
22-
- [Upgrading a kubeadm cluster from {{< skew latestVersionAddMinor -5 >}} to {{< skew latestVersionAddMinor -4 >}}](https://v{{< skew latestVersionAddMinor -4 "-" >}}.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
19+
- [Upgrading a kubeadm cluster from {{< skew currentVersionAddMinor -2 >}} to {{< skew currentVersionAddMinor -1 >}}](https://v{{< skew currentVersionAddMinor -1 "-" >}}.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
20+
- [Upgrading a kubeadm cluster from {{< skew currentVersionAddMinor -3 >}} to {{< skew currentVersionAddMinor -2 >}}](https://v{{< skew currentVersionAddMinor -2 "-" >}}.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
21+
- [Upgrading a kubeadm cluster from {{< skew currentVersionAddMinor -4 >}} to {{< skew currentVersionAddMinor -3 >}}](https://v{{< skew currentVersionAddMinor -3 "-" >}}.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
22+
- [Upgrading a kubeadm cluster from {{< skew currentVersionAddMinor -5 >}} to {{< skew currentVersionAddMinor -4 >}}](https://v{{< skew currentVersionAddMinor -4 "-" >}}.docs.kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
2323

2424
The upgrade workflow at high level is the following:
2525

@@ -45,19 +45,19 @@ The upgrade workflow at high level is the following:
4545

4646
## Determine which version to upgrade to
4747

48-
Find the latest stable {{< skew latestVersion >}} version using the OS package manager:
48+
Find the latest stable {{< skew currentVersion >}} version using the OS package manager:
4949

5050
{{< tabs name="k8s_install_versions" >}}
5151
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
5252
apt update
5353
apt-cache madison kubeadm
54-
# find the latest {{< skew latestVersion >}} version in the list
55-
# it should look like {{< skew latestVersion >}}.x-00, where x is the latest patch
54+
# find the latest {{< skew currentVersion >}} version in the list
55+
# it should look like {{< skew currentVersion >}}.x-00, where x is the latest patch
5656
{{% /tab %}}
5757
{{% tab name="CentOS, RHEL or Fedora" %}}
5858
yum list --showduplicates kubeadm --disableexcludes=kubernetes
59-
# find the latest {{< skew latestVersion >}} version in the list
60-
# it should look like {{< skew latestVersion >}}.x-0, where x is the latest patch
59+
# find the latest {{< skew currentVersion >}} version in the list
60+
# it should look like {{< skew currentVersion >}}.x-0, where x is the latest patch
6161
{{% /tab %}}
6262
{{< /tabs >}}
6363

@@ -74,18 +74,18 @@ Pick a control plane node that you wish to upgrade first. It must have the `/etc
7474

7575
{{< tabs name="k8s_install_kubeadm_first_cp" >}}
7676
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
77-
# replace x in {{< skew latestVersion >}}.x-00 with the latest patch version
77+
# replace x in {{< skew currentVersion >}}.x-00 with the latest patch version
7878
apt-mark unhold kubeadm && \
79-
apt-get update && apt-get install -y kubeadm={{< skew latestVersion >}}.x-00 && \
79+
apt-get update && apt-get install -y kubeadm={{< skew currentVersion >}}.x-00 && \
8080
apt-mark hold kubeadm
8181
-
8282
# since apt-get version 1.1 you can also use the following method
8383
apt-get update && \
84-
apt-get install -y --allow-change-held-packages kubeadm={{< skew latestVersion >}}.x-00
84+
apt-get install -y --allow-change-held-packages kubeadm={{< skew currentVersion >}}.x-00
8585
{{% /tab %}}
8686
{{% tab name="CentOS, RHEL or Fedora" %}}
87-
# replace x in {{< skew latestVersion >}}.x-0 with the latest patch version
88-
yum install -y kubeadm-{{< skew latestVersion >}}.x-0 --disableexcludes=kubernetes
87+
# replace x in {{< skew currentVersion >}}.x-0 with the latest patch version
88+
yum install -y kubeadm-{{< skew currentVersion >}}.x-0 --disableexcludes=kubernetes
8989
{{% /tab %}}
9090
{{< /tabs >}}
9191

@@ -120,13 +120,13 @@ Failing to do so will cause `kubeadm upgrade apply` to exit with an error and no
120120

121121
```shell
122122
# replace x with the patch version you picked for this upgrade
123-
sudo kubeadm upgrade apply v{{< skew latestVersion >}}.x
123+
sudo kubeadm upgrade apply v{{< skew currentVersion >}}.x
124124
```
125125

126126
Once the command finishes you should see:
127127

128128
```
129-
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v{{< skew latestVersion >}}.x". Enjoy!
129+
[upgrade/successful] SUCCESS! Your cluster was upgraded to "v{{< skew currentVersion >}}.x". Enjoy!
130130

131131
[upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so.
132132
```
@@ -171,20 +171,20 @@ Also calling `kubeadm upgrade plan` and upgrading the CNI provider plugin is no
171171
{{< tabs name="k8s_install_kubelet" >}}
172172
{{< tab name="Ubuntu, Debian or HypriotOS" >}}
173173
<pre>
174-
# replace x in {{< skew latestVersion >}}.x-00 with the latest patch version
174+
# replace x in {{< skew currentVersion >}}.x-00 with the latest patch version
175175
apt-mark unhold kubelet kubectl && \
176-
apt-get update && apt-get install -y kubelet={{< skew latestVersion >}}.x-00 kubectl={{< skew latestVersion >}}.x-00 && \
176+
apt-get update && apt-get install -y kubelet={{< skew currentVersion >}}.x-00 kubectl={{< skew currentVersion >}}.x-00 && \
177177
apt-mark hold kubelet kubectl
178178
-
179179
# since apt-get version 1.1 you can also use the following method
180180
apt-get update && \
181-
apt-get install -y --allow-change-held-packages kubelet={{< skew latestVersion >}}.x-00 kubectl={{< skew latestVersion >}}.x-00
181+
apt-get install -y --allow-change-held-packages kubelet={{< skew currentVersion >}}.x-00 kubectl={{< skew currentVersion >}}.x-00
182182
</pre>
183183
{{< /tab >}}
184184
{{< tab name="CentOS, RHEL or Fedora" >}}
185185
<pre>
186-
# replace x in {{< skew latestVersion >}}.x-0 with the latest patch version
187-
yum install -y kubelet-{{< skew latestVersion >}}.x-0 kubectl-{{< skew latestVersion >}}.x-0 --disableexcludes=kubernetes
186+
# replace x in {{< skew currentVersion >}}.x-0 with the latest patch version
187+
yum install -y kubelet-{{< skew currentVersion >}}.x-0 kubectl-{{< skew currentVersion >}}.x-0 --disableexcludes=kubernetes
188188
</pre>
189189
{{< /tab >}}
190190
{{< /tabs >}}
@@ -216,18 +216,18 @@ without compromising the minimum required capacity for running your workloads.
216216
217217
{{< tabs name="k8s_install_kubeadm_worker_nodes" >}}
218218
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
219-
# replace x in {{< skew latestVersion >}}.x-00 with the latest patch version
219+
# replace x in {{< skew currentVersion >}}.x-00 with the latest patch version
220220
apt-mark unhold kubeadm && \
221-
apt-get update && apt-get install -y kubeadm={{< skew latestVersion >}}.x-00 && \
221+
apt-get update && apt-get install -y kubeadm={{< skew currentVersion >}}.x-00 && \
222222
apt-mark hold kubeadm
223223
-
224224
# since apt-get version 1.1 you can also use the following method
225225
apt-get update && \
226-
apt-get install -y --allow-change-held-packages kubeadm={{< skew latestVersion >}}.x-00
226+
apt-get install -y --allow-change-held-packages kubeadm={{< skew currentVersion >}}.x-00
227227
{{% /tab %}}
228228
{{% tab name="CentOS, RHEL or Fedora" %}}
229-
# replace x in {{< skew latestVersion >}}.x-0 with the latest patch version
230-
yum install -y kubeadm-{{< skew latestVersion >}}.x-0 --disableexcludes=kubernetes
229+
# replace x in {{< skew currentVersion >}}.x-0 with the latest patch version
230+
yum install -y kubeadm-{{< skew currentVersion >}}.x-0 --disableexcludes=kubernetes
231231
{{% /tab %}}
232232
{{< /tabs >}}
233233
@@ -254,18 +254,18 @@ without compromising the minimum required capacity for running your workloads.
254254
255255
{{< tabs name="k8s_kubelet_and_kubectl" >}}
256256
{{% tab name="Ubuntu, Debian or HypriotOS" %}}
257-
# replace x in {{< skew latestVersion >}}.x-00 with the latest patch version
257+
# replace x in {{< skew currentVersion >}}.x-00 with the latest patch version
258258
apt-mark unhold kubelet kubectl && \
259-
apt-get update && apt-get install -y kubelet={{< skew latestVersion >}}.x-00 kubectl={{< skew latestVersion >}}.x-00 && \
259+
apt-get update && apt-get install -y kubelet={{< skew currentVersion >}}.x-00 kubectl={{< skew currentVersion >}}.x-00 && \
260260
apt-mark hold kubelet kubectl
261261
-
262262
# since apt-get version 1.1 you can also use the following method
263263
apt-get update && \
264-
apt-get install -y --allow-change-held-packages kubelet={{< skew latestVersion >}}.x-00 kubectl={{< skew latestVersion >}}.x-00
264+
apt-get install -y --allow-change-held-packages kubelet={{< skew currentVersion >}}.x-00 kubectl={{< skew currentVersion >}}.x-00
265265
{{% /tab %}}
266266
{{% tab name="CentOS, RHEL or Fedora" %}}
267-
# replace x in {{< skew latestVersion >}}.x-0 with the latest patch version
268-
yum install -y kubelet-{{< skew latestVersion >}}.x-0 kubectl-{{< skew latestVersion >}}.x-0 --disableexcludes=kubernetes
267+
# replace x in {{< skew currentVersion >}}.x-0 with the latest patch version
268+
yum install -y kubelet-{{< skew currentVersion >}}.x-0 kubectl-{{< skew currentVersion >}}.x-0 --disableexcludes=kubernetes
269269
{{% /tab %}}
270270
{{< /tabs >}}
271271

layouts/shortcodes/skew.html

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,36 @@
5454
{{- $latestVersionAddMinor = printf "%s%s%d" (index $versionArray 0) $seperator $latestVersionAddMinor -}}
5555
{{- $latestVersionAddMinor -}}
5656
{{- end -}}
57+
58+
{{- $currentVersion := site.Params.version -}}
59+
{{- $currentVersion := (replace $currentVersion "v" "") -}}
60+
{{- $currentVersionArray := split $currentVersion "." -}}
61+
{{- $currentMinorVersion := int (index $currentVersionArray 1) -}}
62+
63+
<!-- output latestVersion based on captured arg -->
64+
{{- if eq $version "currentVersion" -}}
65+
{{- $currentVersion -}}
66+
{{- end -}}
67+
68+
<!-- output currentVersionAddMinor based on captured args -->
69+
{{- if eq $version "currentVersionAddMinor" -}}
70+
{{- $seperator := .Get 2 -}}
71+
{{- if eq $seperator "" -}}
72+
{{- $seperator = "." -}}
73+
{{- end -}}
74+
{{- $currentVersionAddMinor := int (.Get 1) -}}
75+
{{- $currentVersionAddMinor = add $currentMinorVersion $currentVersionAddMinor -}}
76+
{{- $currentVersionAddMinor = printf "%s%s%d" (index $versionArray 0) $seperator $currentVersionAddMinor -}}
77+
{{- $currentVersionAddMinor -}}
78+
{{- end -}}
79+
5780
<!--
5881
example shortcode use:
5982
- skew nextMinorVersion
6083
- skew latestVersion
84+
- skew currentVersion
6185
- skew prevMinorVersion
6286
- skew oldestMinorVersion
6387
- skew latestVersionAddMinor -1 "-"
88+
- skew currentVersionAddMinor -1 "-"
6489
-->

0 commit comments

Comments
 (0)