Snap refreshes

Snaps are app packages for desktop, cloud and IoT that are easy to install, secure, cross‐platform and dependency‐free and is the preferred way of installing MicrK8s.

The channel specified during installation receives regular updates that include:

  • Kubernetes patch releases
  • Regression, bug and security fixes

Consider the case of an installation following the v1.27 release:

snap install microk8s --classic --channel 1.27/stable

At regular intervals, the MicroK8s team releases new snap revisions with Kubernetes patches (ie 1.27.1, 1.27.2, etc), updates to the Kubernetes dependencies and any fixes to the add-ons. Such snap refreshes are available to the 1.27 clusters and by default are applied automatically with no user notification.

Use the snap changes and snap change <change-id> commands to see details on what changed during the last refresh. Refer to the Snap documentation for more details.

Handling refreshes

By default, snaps check for updates once every six hours. In the event of a new release, MicroK8s automatically refreshes to the latest revision within the followed channel. However, there are some scenarios where it may be inconvenient or difficult to refresh the current snap. For those cases the following options are available:

Scheduling snap refreshes at convenient times

The refresh-timer setting can be used to configure the global refresh schedule for all snaps. The following example sets the refresh window from 22:00 to 23:00 on the last Friday of the month:

snap set system refresh.timer=fri5,22:00-23:00

For more details on the refresh-timer option refer to the Snap documentation page on controlling updates.

Block and/or filter out revisions

Placing a store proxy in front of a MicroK8s deployment allows new snap revisions to be ‘held’ while they undergo testing and skipping them if deemed harmful. Please refer to our Snap Store Proxy How to page for detailed instructions on setting up a proxy.

@a-hahn thanks for contributing here! I don’t think we can include an install method that isn’t recommended though. If you need to gate updates for testing etc, the recommended way is to set up a store proxy, as already documented.

Actually @evilnick I don’t think you respect the code of conduct of this forum. Especially
o Giving and gracefully accepting constructive feedback
o Focusing on what is best not just for us as individuals, but for the overall community
Please read foundation/code-of-conduct.md at main · cncf/foundation · GitHub

I’m not ‘not accepting’ your feedback, I’m just disagreeing with it.
I’m not focussing on what is best for me, but quite the reverse.

You are perfectly welcome to detail your method here in the comments if you want to, or in any other post of your own. I don’t understand why you think it is disrespectful to decline an edit to someone else’s post.