Kubernetes 1.24 has been officially released, which is the first major version update in 2022.
1.24 There are 46 functional changes in total, including:
- 14 enhancements have been upgraded to stable status
- 15 enhancements are entering the testing phase
- 13 enhancements are entering alpha phase
- Two features have been marked as deprecated
- Two functions have been deleted
Major changes
Remove dockership component from kubelet
Dockership components have been marked as deprecated in 1.20, and the latest version 1.24 has officially deleted them. Starting from this version, users need to use other Supported Runtime (e.g. containerd or CRI-O). If you rely on the Docker Engine as the runtime, you need to use cri docked. See Guide for details 。
API in Beta status is turned off by default
By default, the new beta API will not be enabled in the cluster 。 However, the existing beta API and its new version will continue to be enabled in 1.24.
Signing Release Artifacts
In 1.24, publishing artifacts will use cosign Sign, It also provides experimental image signature verification support. The signature and verification of the released artifacts are Part of improving Kubernetes software supply chain security 。
OpenAPI v3
Kubernetes 1.24 provides beta support for the OpenAPI v3 publishing format of the API.
Storage capacity and storage volume expansion function GA
Storage capacity tracking via CSIStorageCapacity object Exposes the currently available storage capacity, and enhances the scheduling of pods with later bound CSI storage volumes.
Storage volume expansion Added support for resizing existing persistent volumes.
NonPreemptingPriority officially enters a stable state
This function Added new options for PriorityClasses , you can enable or disable the pod preemption mechanism 。
Migrate storage plug-in
Currently, the plug-in stored in the tree is being migrated to implement the CSI plug-in while maintaining the normal operation of the original API. Azure Disk And OpenStack Cinder Wait until the plug-in has completed the migration.
GRPC probe upgrade to beta version
In 1.24, GRPC probe function It has entered the beta testing phase and is enabled by default. Users can now perform the Locally configure startup, activity and readiness detection without exposing HTTP endpoints or using additional executables 。
Upgrade Kubelet Credential Provider to beta version
This component was released as Alpha version in Kubernetes 1.20. Kubelet's support for this component has now been upgraded to Beta version. This allows kubelet to use the exec plug-in to dynamically retrieve the credentials of the container image registry instead of storing the credentials on the node's file system.
Contextual Logging Enters Alpha Phase
This feature enables the caller of the function to control all the details of logging (output format, detail level, added value, name, etc.).
Avoid conflicts when assigning IP addresses to services
This is a new optional function that allows users to allocate reserved ranges for static IP addresses of services. By manually enabling this function, the cluster will automatically obtain addresses from the specified service IP pool, thus reducing the risk of conflict.
So the service ClusterIP
It can be specified in the following ways:
- Dynamic allocation, which means that the cluster will automatically select the idle IP within the configured service IP range
- Static allocation, which means that the user will set the IP within the configured service IP range
Serving ClusterIP
It is unique, so when you try to use the assigned ClusterIP
If you create a service, an error result will be returned.
Delete dynamic kubelet configuration from Kubelet
The dynamic Kubelet configuration was marked as deprecated in 1.22 and has now been officially deleted. This function will also be removed from the API server of Kubernetes 1.26.
Kubernetes version 1.24 is named after "Stargazer", and the logo is a The telescope looks at the Pleiades star cluster in the sky, which is called the "Seven Immortals" in Greek mythology. "7" is the lucky number of Kubernetes. After all, its project name was “Project Seven”。
Release Announcement | Changelog