Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions docs/canonicalk8s/snap/howto/upgrades.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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:
Expand Down Expand Up @@ -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

10 changes: 10 additions & 0 deletions docs/canonicalk8s/snap/reference/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,16 @@ and backwards-incompatible changes.
/snap/reference/versions/1.32
```

## Upgrade notes

Instructions on how to upgrade between versions on {{product}}

```{toctree}
:titlesonly:
:maxdepth: 2
/snap/reference/upgrading.md
```


## Release policy and schedule

Expand Down
55 changes: 55 additions & 0 deletions docs/canonicalk8s/snap/reference/upgrading.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Upgrade notes

## Upgrade 1.32 to 1.33

If you are not using dual stack networking, you can simply run:

```bash
sudo snap refresh k8s --channel=1.33/stable
```

All components will be updated automatically.

### Additional steps for dual-stack environments

If your cluster is configured with dual stack networking (IPv4 and IPv6),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If your cluster is configured with dual stack networking (IPv4 and IPv6),
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:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
includes Cilium v1.17, which introduces a stricter requirement for dual stack:
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:

- 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 network interface that is used to connect the node
to the cluster network:

```bash
--node-ip=<IPv4>,<IPv6>
```

- 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to add in a verify step? Like to check the version has updated and the cluster is ready?
Something like :

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great idea, I added it with a separate heading to emphasize the steps for all the users regardless of their networking environment. WDYT?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!


### 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
```


Loading