Latest Kubernetes Release Adds Range of Management Capabilities
The Technical Oversight Committee (TOC) for Kubernetes released a 1.28 update to the platform that adds a number of capabilities including a proposal to create a lightweight common expression language (CEL) that can be used to validate custom resources created using application programming interfaces (APIs).
The goal is to allow the majority of validation use cases currently handled by a webhook to be handled by adding inline validation expressions directly into the schema of a custom resource definition (CRD).
That approach will make it possible to use a CEL of admission control using a validating admission policy that is now in beta with the release of version 1.28. That capability builds on the CRD validation rules feature that graduated to beta in version 1.25 of Kubernetes. In addition, there are CEL expression filters to webhooks that make it possible to scope the use of this more narrowly. A CEL expression must evaluate the admission request to be sent to the webhook, and if determined to be false, will skip that request.
Another capability being added is a restartPolicy field for init containers. This will indicate when an init container is also a sidecar container. Available in alpha, this will enable Kubernetes to orchestrate sidecar containers alongside the main containers running on a pod.
Also in the release is support for a mixed-version proxy capability that enables a cluster that has multiple API servers running across mixed versions of Kubernetes to manage resources.
Grace Nguyen, release team lead for Kubernetes 1.28, noted that this capability, in addition to making it simpler to run different versions of Kubernetes, will also play a role in any long-term release (LTR) candidate for Kubernetes that might one day emerge. Today a sub-committee of the TOC is studying how best to create and maintain an LTR for Kubernetes as an alternative to providing support for only the last three releases of the platform.
The release also adds a CRD validation ratcheting capability that allows a custom resource to fail validation if the patch does not alter any of the invalid fields, a generic control plane for staging repositories and a plugin API that makes it easy to inject complex devices into a container.
Finally, the release includes a node system memory capability that swaps nodes in a more predictable manner, a feature that makes it easier to restart stateful workloads, a simpler method to change the default StorageClass volume, tools to enable testing across different versions of control planes and nodes and a pod replacement policy tool that provides more control over how pods are terminated and tools to make it simpler to collect metrics.
The additions being made to Kubernetes in alpha and beta are provided alongside 12 previously added capabilities being upgraded to stable, including the node shutdown capability and the ability to swap storage classes more easily.
Overall, it’s apparent the management capabilities provided with Kubernetes are becoming more elegant at a time when the number of clusters running in production environments continues to increase exponentially.