From fd0a8e504e3241b83a4f18b3d32b7b9cceee744f Mon Sep 17 00:00:00 2001 From: Reza Abbasalipour Date: Mon, 9 Jun 2025 13:14:55 +0400 Subject: [PATCH 1/6] chore: add upgrade docs for 1.33 Signed-off-by: Reza Abbasalipour --- docs/canonicalk8s/snap/reference/releases.md | 1 + docs/canonicalk8s/snap/reference/upgrading.md | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 docs/canonicalk8s/snap/reference/upgrading.md diff --git a/docs/canonicalk8s/snap/reference/releases.md b/docs/canonicalk8s/snap/reference/releases.md index ce006cdb8b..999ee2d90f 100644 --- a/docs/canonicalk8s/snap/reference/releases.md +++ b/docs/canonicalk8s/snap/reference/releases.md @@ -11,6 +11,7 @@ and backwards-incompatible changes. :titlesonly: :maxdepth: 2 /snap/reference/versions/1.32 +/snap/reference/upgrading.md ``` diff --git a/docs/canonicalk8s/snap/reference/upgrading.md b/docs/canonicalk8s/snap/reference/upgrading.md new file mode 100644 index 0000000000..1df9acf3a0 --- /dev/null +++ b/docs/canonicalk8s/snap/reference/upgrading.md @@ -0,0 +1,39 @@ +# Upgrade notes + +## Upgrade Instructions + +### 1.32 -> 1.33 +Updating the {{product}} snap to version 1.33 is straightforward in most cases. +If you are not using dual stack networking, you can simply run: + +```bash +sudo snap refresh k8s --channel=1.33/stable +``` +All components, including Cilium, will be updated automatically. + +#### Additional Steps for Dual Stack Environments +If your cluster is configured with dual stack networking (IPv4 and IPv6), +you’ll need to make a manual adjustment before refreshing. {{product}} 1.33 +includes Cilium v1.17, which introduces a stricter requirement for dual stack: +Each node must report both IPv4 and IPv6 addresses to the API server. +If this is not satisfied, the Cilium agent pods will fail to start. +For each node in the cluster, perform the following steps: +- Edit the kubelet configuration: +```bash +sudo nano /var/snap/k8s/common/args/kubelet +``` +- Locate the --node-ip flag. +- Add both the IPv4 and IPv6 addresses (comma-separated) from the same interface: +```bash +--node-ip=, +``` +- Restart the `kubelet` service +```bash +sudo systemctl restart snap.k8s.kubelet.service +``` +- Restart the Cilium daemonset: +```bash +sudo k8s kubectl rollout restart daemonset cilium -n kube-system +``` + +Now you can run the snap `refresh` command to perform the upgrade. From 5746ed9e15a6c1a87c827a37482966a61087098c Mon Sep 17 00:00:00 2001 From: Reza Abbasalipour Date: Mon, 9 Jun 2025 15:34:00 +0400 Subject: [PATCH 2/6] fix: spellings Signed-off-by: Reza Abbasalipour --- docs/canonicalk8s/snap/reference/upgrading.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/canonicalk8s/snap/reference/upgrading.md b/docs/canonicalk8s/snap/reference/upgrading.md index 1df9acf3a0..4b72ff5325 100644 --- a/docs/canonicalk8s/snap/reference/upgrading.md +++ b/docs/canonicalk8s/snap/reference/upgrading.md @@ -31,7 +31,7 @@ sudo nano /var/snap/k8s/common/args/kubelet ```bash sudo systemctl restart snap.k8s.kubelet.service ``` -- Restart the Cilium daemonset: +- Restart the Cilium DaemonSet: ```bash sudo k8s kubectl rollout restart daemonset cilium -n kube-system ``` From c7809f54895e84ba0dc45e2b3a27a17f21e8e391 Mon Sep 17 00:00:00 2001 From: Reza Abbasalipour Date: Mon, 9 Jun 2025 15:38:45 +0400 Subject: [PATCH 3/6] fix: md linting Signed-off-by: Reza Abbasalipour --- docs/canonicalk8s/snap/reference/upgrading.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/canonicalk8s/snap/reference/upgrading.md b/docs/canonicalk8s/snap/reference/upgrading.md index 4b72ff5325..260f2cd1a7 100644 --- a/docs/canonicalk8s/snap/reference/upgrading.md +++ b/docs/canonicalk8s/snap/reference/upgrading.md @@ -3,35 +3,47 @@ ## Upgrade Instructions ### 1.32 -> 1.33 + Updating the {{product}} snap to version 1.33 is straightforward in most cases. If you are not using dual stack networking, you can simply run: ```bash sudo snap refresh k8s --channel=1.33/stable ``` + All components, including Cilium, will be updated automatically. #### Additional Steps for Dual Stack Environments + If your cluster is configured with dual stack networking (IPv4 and IPv6), you’ll need to make a manual adjustment before refreshing. {{product}} 1.33 includes Cilium v1.17, which introduces a stricter requirement for dual stack: Each node must report both IPv4 and IPv6 addresses to the API server. If this is not satisfied, the Cilium agent pods will fail to start. For each node in the cluster, perform the following steps: + - Edit the kubelet configuration: + ```bash sudo nano /var/snap/k8s/common/args/kubelet ``` + - Locate the --node-ip flag. -- Add both the IPv4 and IPv6 addresses (comma-separated) from the same interface: +- Add both the IPv4 and IPv6 addresses (comma-separated) from the same +interface: + ```bash --node-ip=, ``` + - Restart the `kubelet` service + ```bash sudo systemctl restart snap.k8s.kubelet.service ``` + - Restart the Cilium DaemonSet: + ```bash sudo k8s kubectl rollout restart daemonset cilium -n kube-system ``` From 977b8a71cadd20ae8d419049f0c0b1f3bcf433d8 Mon Sep 17 00:00:00 2001 From: Reza Abbasalipour Date: Tue, 10 Jun 2025 17:50:18 +0400 Subject: [PATCH 4/6] chore: address comments Signed-off-by: Reza Abbasalipour --- docs/canonicalk8s/snap/reference/releases.md | 9 +++++ docs/canonicalk8s/snap/reference/upgrading.md | 36 ++++++++++--------- 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/docs/canonicalk8s/snap/reference/releases.md b/docs/canonicalk8s/snap/reference/releases.md index 999ee2d90f..d06082f30d 100644 --- a/docs/canonicalk8s/snap/reference/releases.md +++ b/docs/canonicalk8s/snap/reference/releases.md @@ -11,6 +11,15 @@ and backwards-incompatible changes. :titlesonly: :maxdepth: 2 /snap/reference/versions/1.32 +``` + +## Upgrade notes + +Instructions on how to upgrade between versions on {{product}} + +```{toctree} +:titlesonly: +:maxdepth: 2 /snap/reference/upgrading.md ``` diff --git a/docs/canonicalk8s/snap/reference/upgrading.md b/docs/canonicalk8s/snap/reference/upgrading.md index 260f2cd1a7..7be31c1bc5 100644 --- a/docs/canonicalk8s/snap/reference/upgrading.md +++ b/docs/canonicalk8s/snap/reference/upgrading.md @@ -1,36 +1,27 @@ # Upgrade notes -## Upgrade Instructions +## Upgrade 1.32 to 1.33 -### 1.32 -> 1.33 - -Updating the {{product}} snap to version 1.33 is straightforward in most cases. If you are not using dual stack networking, you can simply run: ```bash sudo snap refresh k8s --channel=1.33/stable ``` -All components, including Cilium, will be updated automatically. +All components will be updated automatically. -#### Additional Steps for Dual Stack Environments +### Additional steps for dual-stack environments If your cluster is configured with dual stack networking (IPv4 and IPv6), you’ll need to make a manual adjustment before refreshing. {{product}} 1.33 includes Cilium v1.17, which introduces a stricter requirement for dual stack: -Each node must report both IPv4 and IPv6 addresses to the API server. +each node must report both IPv4 and IPv6 addresses to the API server. If this is not satisfied, the Cilium agent pods will fail to start. -For each node in the cluster, perform the following steps: - -- Edit the kubelet configuration: - -```bash -sudo nano /var/snap/k8s/common/args/kubelet -``` +For each node in the cluster: -- Locate the --node-ip flag. -- Add both the IPv4 and IPv6 addresses (comma-separated) from the same -interface: +- Update the `--node-ip` flag in the kubelet configuration file +`/var/snap/k8s/common/args/kubelet` to include both the IPv4 and IPv6 addresses +(comma-separated) from the same interface: ```bash --node-ip=, @@ -49,3 +40,14 @@ sudo k8s kubectl rollout restart daemonset cilium -n kube-system ``` Now you can run the snap `refresh` command to perform the upgrade. + +### Verify the upgrade + +Check the `k8s` snap version has been updated and the cluster is back in the `Ready` state. + +``` +snap info k8s +sudo k8s status --wait-ready +``` + + From a88602d78de911d189bad332b27d5397fe1a251a Mon Sep 17 00:00:00 2001 From: Reza Abbasalipour Date: Tue, 10 Jun 2025 18:17:06 +0400 Subject: [PATCH 5/6] chore: address comments Signed-off-by: Reza Abbasalipour --- docs/canonicalk8s/snap/howto/upgrades.md | 12 ++++++++++-- docs/canonicalk8s/snap/reference/upgrading.md | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/canonicalk8s/snap/howto/upgrades.md b/docs/canonicalk8s/snap/howto/upgrades.md index 076aaf1a9e..c6545d82ca 100644 --- a/docs/canonicalk8s/snap/howto/upgrades.md +++ b/docs/canonicalk8s/snap/howto/upgrades.md @@ -60,7 +60,13 @@ To upgrade to a new minor version, the snap channel needs to be changed. snap info k8s ``` -2. **Change the snap channel:** +2. **Check version specific instructions and possible manual steps** + +Please check [Upgrade notes] for any version-specific considerations or manual +steps before upgrading. + + +3. **Change the snap channel:** The {{product}} snap channel can be changed by using the `snap refresh` command. @@ -69,7 +75,7 @@ command. snap refresh --channel=1.33/stable k8s ``` -3. **Verify the upgrade:** +4. **Verify the upgrade:** Ensure that the upgrade was successful by checking the version of the snap and confirming that the cluster is ready: @@ -104,3 +110,5 @@ snap refresh k8s --hold=24h [Version Skew Policy]: https://kubernetes.io/docs/setup/release/version-skew-policy/ [backup guide]: ./backup-restore.md [snap documentation]: https://snapcraft.io/docs/managing-updates +[Upgrade notes]: ../reference/upgrading + diff --git a/docs/canonicalk8s/snap/reference/upgrading.md b/docs/canonicalk8s/snap/reference/upgrading.md index 7be31c1bc5..7c4817bbce 100644 --- a/docs/canonicalk8s/snap/reference/upgrading.md +++ b/docs/canonicalk8s/snap/reference/upgrading.md @@ -43,7 +43,8 @@ Now you can run the snap `refresh` command to perform the upgrade. ### Verify the upgrade -Check the `k8s` snap version has been updated and the cluster is back in the `Ready` state. +Check the `k8s` snap version has been updated and the cluster is back in the +`Ready` state. ``` snap info k8s From 50ab009e385ae453852b3b1894615da184f4c124 Mon Sep 17 00:00:00 2001 From: Reza Abbasalipour Date: Mon, 16 Jun 2025 14:24:37 +0400 Subject: [PATCH 6/6] chore: address comments Signed-off-by: Reza Abbasalipour --- docs/canonicalk8s/snap/reference/upgrading.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/canonicalk8s/snap/reference/upgrading.md b/docs/canonicalk8s/snap/reference/upgrading.md index 7c4817bbce..6c38901698 100644 --- a/docs/canonicalk8s/snap/reference/upgrading.md +++ b/docs/canonicalk8s/snap/reference/upgrading.md @@ -21,7 +21,8 @@ For each node in the cluster: - Update the `--node-ip` flag in the kubelet configuration file `/var/snap/k8s/common/args/kubelet` to include both the IPv4 and IPv6 addresses -(comma-separated) from the same interface: +(comma-separated) from the network interface that is used to connect the node +to the cluster network: ```bash --node-ip=,