Does Kubernetes need to provide a long-term support version (LTS)?

Source: OSCHINA
Edit: game
2023-12-05 10:37:00

Kubernetes currently follows the "N-2 Support Policy", which means that only the three latest minor versions (N, N-1 and N-2) will be secure and bug fixed, The release cycle is 15 weeks

Therefore, the support period of a Kubernetes version is usually 14 months (12 months' support period and 2 months' upgrade period). If we compare it with Debian (an operating system project based on its support cycle in many organizations), we will find a direct difference between the two.

It can be seen that as an infrastructure project, the iteration cycle of Kubernetes still makes many companies unable to keep up with the release rhythm.

In addition, upgrading K8s clusters manually usually requires the following work:

  • Check all third-party extensions, such as network and storage plug-ins
  • Upgrade etcd (all instances)
  • Upgrade kube apiserver (all control plane hosts)
  • Upgrade kube controller manager
  • Upgrade kube scheduler
  • Upgrade cloud controller manager (if used)
  • Upgrade kubectl
  • Empty each node, replace the node or upgrade the node, then read and monitor to ensure that it continues to work
  • Run according to the requirements on the list kubectl convert

Based on these factors, it was proposed that: Whether Kubernetes needs to provide long-term support version (LTS)

The reasons are as follows:

First, Kubernetes is a complex container orchestration system composed of many different components and modules. These components and modules need to be maintained and updated continuously to ensure their security and stability. By providing the LTS version, it can provide a stable foundation for users to use Kubernetes for a long time without frequent upgrades.

Second, many organizations build complex applications and infrastructure when using Kubernetes. These applications and infrastructure may depend on a specific version of Kubernetes, and may require a lot of testing and validation to run on the new version. By providing the LTS version, these organizations can ensure that they can maintain the stability of their applications and infrastructure in the long term without worrying about incompatibilities and failures caused by upgrading to a new version.

In addition, many organizations may face compliance and regulatory requirements. These requirements may require them to use a specific version of the software and maintain support for that version for a period of time. By providing the LTS version, Kubernetes can meet these compliance and regulatory requirements, enabling organizations to use Kubernetes in their environments without fear of violations.

Finally, for organizations that do not have the ability to upgrade and migrate on a large scale, the LTS version can provide support and stability for a longer period of time. These organizations may not have enough resources and time to frequently upgrade and migrate their applications and infrastructure. By providing the LTS version, Kubernetes can help these organizations maintain the stability and reliability of their systems without bearing the risk and cost of frequent upgrades.

It is understood that, The K8s team is restoring the previously disbanded LTS working group.

At present, there is nothing in its mailing list: https://groups.google.com/a/kubernetes.io/g/wg-lts

Expand to read the full text
Click to join the discussion 🔥 (1) Post and join the discussion 🔥
one comment
two Collection
 Back to top
Top