The Cloud Native Computing Foundation (CNCF) released Kubernetes 1.23 recently. The release has new features such as the events subcommand for kubectl, gRPC probes, and expression language validation for custom resources, generally available or stable features such as generic ephemeral volumes, Horizontal Pod Autoscaling, and IPv4/IPv6 dual-stack networking, beta features such as PodSecurity, and deprecated features such as FlexVolume.
The new release kubectl, the command-line tool to run commands against clusters, includes an events subcommand (kubectl events) to better troubleshoot problems. The new subcommand addresses issues with kubectl get events including sorting and watching events.
gRPC probes have been introduced to enable developers to improve the resiliency of applications by adding liveness or readiness probes, not only for the HTTP or TCP protocols, but for gRPC. a high performance framework that’s commonly used for distributed applications and services that allows a client application to seamlessly call a method on a remote server.
In version 1.23 there is a validation mechanism for Custom Resource Definitions (CRDs). This will make it possible to have everything related to CRDs in one place instead of writing validation webhooks. The validation rules use the Common Expression Language (CEL).
Generic ephemeral volumes moved to GA in version 1.23. Such volumes provide storage for pods for temporary data and are usually empty after provisioning. They can work with any storage driver that supports dynamic provisioning.
In addition, Version 2 of the HorizontalPodAutoscaler (HPA), a Kubernetes component that automatically updates workloads to cope with demand, graduated to GA. The API autoscaling/v2beta2 is now replaced with autoscaling/v2.
Also, IPv4/IPv6 dual-stack mode networking support went GA. This enables developers to use both IPv4 and IPv6 addresses for pods and operate clusters in a dual-stack mode in production.
PodSecurity moved to beta in version 1.23 replacing the deprecated PodSecurityPolicy admission controller. The new admission controller can enforce pod security standards, a set of policies that range from highly-permissive to highly-restrive, on a namespace based on a specific namespace label.
Also, in 1.23 Container Runtime Interface (CRI) v1 API graduated to beta and became the project-wide default. CRI is a plugin interface that enables the kubelet to use many container runtimes. For example, Docker might be the container runtime for one cluster and containerd for another.
FlexVolume, a plugin interface to deal with storage drivers, is deprecated in 1.23. Users of FlexVolume drivers are encouraged to move their workloads to Container Storage Interface (CSI) drivers.
Kubernetes is open-source software that automates the deployment, scaling, and management of application containers.
According to the release notes, Kubernetes version 1.23 has 47 enhancements including 11 becoming generally available or stable, 17 graduating to beta, and 19 entering alpha. In addition, one feature has been deprecated. Version 1.23 is the last release for 2021.
A CNCF webinar is scheduled on January 4, 2022, to go over the major features of the new release.