Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation for production deployments #1658

Closed
wants to merge 6 commits into from
Closed
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
16 changes: 16 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,22 @@ are granted access to `microk8s` commands. To add a user to that group:
sudo usermod -a -G microk8s <username>
```

#### Production Installation

The Snapcraft package manager is the only way to install microk8s. This platform auto-updates packages without user interaction to track authors security patches and new point releases for a channel. It is recommended to pick a channel during installation with `--channel=x.xx/stable`, as upstream Kubernetes releases have been known to break during upgrades. If you do not specify a channel, auto-updates will track the latest stable release, which is likely not what you want for production deployments.

If your production deployment can handle unattended upgrades without a schedule, you should not have to modify snapd. If you have regular maintenance windows, you can [schedule unattended updates for a snap](https://snapcraft.io/docs/keeping-snaps-up-to-date).

As of version 1.19 a mission critical installation should use the High Availability option, which requires three or more physical nodes. Ensure these nodes auto-upgrade schedules are staggered because if two nodes go down at the same time the cluster will be unavailable.

An alternative to upgrading or installing an HA cluster for mission critical installations is to disable all unattended updates. To do this, download and install a snap in "dangerous" mode to pin a version. This gives the user the ability to control the upgrade and security patching schedule. Do this with the following combination

```
snap download microk8s --channel=version/label
# where version is a valid version number and label is stable or edge
sudo snap install microk8s_xxxx.snap --dangerous --classic
# where xxxx is the release number.
```

#### Kubernetes add-ons

Expand Down