website/content/en/blog/_posts/2022-4-26-kubernetes-releas...

14 KiB
Raw Blame History

layout title date slug
blog Kubernetes 1.24: Stargazer 2022-05-03 kubernetes-1-24-release-announcement

Kubernetes 1.24

Authors: Kubernetes 1.24 Release Team

We are excited to announce the release of Kubernetes 1.24, the first release of 2022!

This release consists of 46 enhancements: fifteen enhancements have graduated to stable, fifteen enhancements are moving to beta, and thirteen enhancements are entering alpha. Also, two features have been deprecated, and the dockershim has been removed.

Major Themes

Dockershim Removed from kubelet

After an initial deprecation in v1.20, the dockershim has been removed from the kubelet in favor of runtimes that comply with the Container Runtime Interface (CRI) designed for Kubernetes. From v1.24 and up, if you are currently relying on Docker Engine as your container runtime, you will need to either use one of the other supported runtimes (such as containerd or CRI-O) or use cri-dockerd. For more information about ensuring your cluster is ready for this removal, please see this guide.

Before you upgrade to Kubernetes 1.24, if you use a Container Network Interface (CNI) network plugin that complies with CNI versions earlier than v1.0.0 and you plan to use any of the following container runtimes, you must specify the CNI version as described in Declaring the CNI version of your plugin. Otherwise, your network will break.

This issue applies to the following container runtimes:

  • containerd v1.6.0 and later
  • CRI-O 1.24 and later
  • cri-dockerd [vTBD] and later

Beta APIs Off by Default

New beta APIs will not be enabled in clusters by default. Existing beta APIs and new versions of existing beta APIs, will continue to be enabled by default.

OpenAPI v3

Kubernetes 1.24 offers beta support for publishing its APIs as OpenAPI v3.

Signing Release Artifacts

Release artifacts are signed.

Storage Capacity and Volume Expansion Are Generally Available

Storage capacity tracking supports exposing currently available storage capacity via CSIStorageCapacity objects and enhances scheduling of pods that use CSI volumes with late binding.

Volume expansion add support for resizing existing persistent volumes.

NonPreemptingPriority to Stable

This feature adds a new option to PriorityClasses, which can enable or disable pod preemption.

In-Tree CSI Providers

Migrate the internals of the in-tree plugins to call out to CSI Plugins while maintaining the original API. Azure Disk and OpenStack Cinder have both been migrated.

Graduations to Stable

This release saw fifteen enhancements promoted to stable:

gRPC Probes Graduate to Beta

With Kubernetes 1.24, the gRPC probes functionality has entered beta and is available by default. You can now configure startup, liveness, and readiness probes for your gRPC app natively within Kubernetes, without exposing an HTTP endpoint or using an extra executable.

Kubelet Credential Provider graduates to Beta

Released as Alpha in Kubernetes 1.20, the Kubelet Credential Provider has now graduated to Beta. This allows the kubelet to dynamically retrieve credentials for a container image registry using exec plugins, communicating through stdio using Kubernetes versioned APIs, rather than storing them statically on disk.

Contextual Logging in Alpha

Kubernetes v1.24 has introduced contextual logging that enables the caller of a function to control all aspects of logging (output formatting, verbosity, additional values and names).

Avoiding Collisions in IP allocation to Services

Kubernetes 1.24 introduces a new Feature Gate ServiceIPStaticSubrange that allows users to soft-reserve a range for static IP address assignments. If you use the new feature (which you must manually enable), your cluster prefers automatic assignment from the remaining pool of Service IP addresses, reducing the risk of a collision.

A Service ClusterIP can be assigned:

  • dynamically, which means the cluster will automatically pick a free IP within the configured Service IP range.
  • statically, which means the user will set one IP within the configured Service IP range.

Service ClusterIP are unique, hence, trying to create a Service with a ClusterIP that has already been allocated will return an error.

Other Updates

Graduated to Stable

  • To do: Add all enhancements that graduated to stable

Major Changes

  • To do: Add information about Dockershim

Release Notes

Check out the full details of the Kubernetes 1.24 release in our release notes.

Availability

Kubernetes 1.24 is available for download on GitHub. To get started with Kubernetes, check out these interactive tutorials or run local Kubernetes clusters using containers as “nodes”, with kind. You can also easily install 1.24 using kubeadm.

Release Team

This release would not have been possible without the combined efforts of a committed individuals comprising the Kubernetes 1.24 release team. This team came together to deliver all of the components that go into each Kubernetes release, including code, documentation, release notes, and more.

Special thanks to James Laverack, our release lead, for guiding us through a successful release cycle, and to all of the members of the release team for the time and effort they put in to deliver the v1.24 release for the Kubernetes community.

Kubernetes 1.24: Stargazer

User Highlights

Ecosystem Updates

Project Velocity

The CNCF K8s DevStats project aggregates a number of interesting data points related to the velocity of Kubernetes and various sub-projects. This includes everything from individual contributions to the number of companies that are contributing, and is an illustration of the depth and breadth of effort that goes into evolving this ecosystem.

In the v1.24 release cycle, which ran for 18 weeks (January 10 to May 17), we saw contributions from 1029 companies and 1179 individuals.

Upcoming Release Webinar

Join members of the Kubernetes 1.24 release team on to learn about the major features of this release, as well as deprecations and removals to help plan for upgrades. For more information and registration, visit the event page on the CNCF Online Programs site.

Get Involved

The simplest way to get involved with Kubernetes is by joining one of the many Special Interest Groups (SIGs) that align with your interests. Have something youd like to broadcast to the Kubernetes community? Share your voice at our weekly community meeting, and through the channels below: