EMK - Version releases for Kubernetes & OS updates
Estimated time to read: 4 minutes
This page describes the rotation structure of new Kubernetes releases, machine images and how an EMK cluster will react on this.
EMK releases
Cyso Cloud follows Kubernetes releases shortly after the official Kubernetes lifecycle. New patch versions are introduced as preview
as soon as possible, they will become supported on the first and third Tuesday of the month. Deprecated patch versions will expire after 28-days.
Operating system (OS) updates follow the same mechanism, although they will become supported on the second Tuesday of the month.
Kubernetes releases
In EMK the available Kubernetes and operating system (OS) versions are categorized as preview
, supported
, deprecated
and expired
. These four categories are described below.
Version type |
Description |
---|---|
preview |
A preview version is a new release that may have more undiscovered issues and is not yet recommended for productive use. Clusters are never automatically updated to a preview version during maintenance. |
supported |
A supported version is recommended for both new and existing clusters and is suitable for productive use. |
deprecated |
A deprecated version is nearing its end of life and may still contain unresolved issues that are likely fixed in supported versions. New clusters should avoid using deprecated versions unless explicitly required. Existing clusters with auto-update enabled will be upgraded to a newer version. Deprecated versions have an expiration date set for eventual phase-out. |
expired |
An expired version has a past expiration date (e.g., 2024-03-01). New clusters cannot be created using this version, and existing clusters are automatically migrated to a supported higher version during maintenance windows. |
EMK update paths
There are three different update paths that are possible:
- Automatic updates of Kubernetes and OS versions
- Manual updates
- End of life updates
Automatic updates of Kubernetes and OS versions
Automatic updates or also referred as Auto Updates
. When enabled, an EMK cluster will be automatically updated during a maintenance window. (See cluster config - Auto Updates). This will only happen when there is a supported version available that is newer than the current version.
Manual updates
To manually update, you can select a newer Kubernetes or OS release. This allows you to initiate an update before automatic updates is initiated during a cluster's maintenance window. It's important to note that manual updates may include changes that could disrupt cluster operations. Therefore, before proceeding with updates for minor or major releases, cluster users should review the changelogs for the target Kubernetes and OS release to understand any potential breaking changes.
End of life updates
If the Kubernetes or OS version of a cluster is past its expiration date, EMK initiates a required update to the latest available patch version within the current minor version. If no patch is available, it updates to the highest patch version in the next minor version that isn't labeled as a preview
. These updates are executed automatically, even if automatic updates for Kubernetes are turned off. Keeping your cluster secure and stable requires using a supported version.
Update examples
Kubernetes versions
For Kubernetes versions, we enforce a 28-day deprecation period. When a preview
version is promoted to supported
, the existing supported
version is demoted to deprecated
and after 28 days this version is demoted to expired
.
The following is an example scenario to illustrate the various actions which may occur depending the cluster's current version and cluster settings (see cluster config - update for details).
Available Kubernetes releases:
Version | Version type |
---|---|
1.28.11 | preview |
1.28.10 | supported |
1.28.8 | deprecated |
1.28.7 | deprecated |
1.28.5 | expired |
1.27.7 | expired |
Possible outcomes after a maintenance window:
Before | After | Auto Update |
Explanation |
---|---|---|---|
1.28.10 | 1.28.10 | Enabled | No changes, current release is supported. |
1.28.8 | 1.28.10 | Enabled | Kubernetes is updated, current release is deprecated and Auto Update is enabled. |
1.28.8 | 1.28.8 | Disabled | No changes, current release is deprecated but Auto Update is disabled. |
1.28.7 | 1.28.10 | Enabled | Kubernetes is updated, current release is deprecated version and Auto Update is enabled. |
1.28.5 | 1.28.10 | Disabled | Kubernetes is force updated to the highest supported patch version as the patch version is expired. |
1.27.7 | 1.28.10 | Enabled | Kubernetes is force updated to one higher minor version, current minor version is expired (defaults to the supported patch version for that minor). |
1.27.7 | 1.28.10 | Disabled | Same as above. |