Electrifying updates: new Kubernetes 1.26 release

On the 9th of December, 2022 CNCF announced the release of Kubernetes v1.26, named Electrifying.

On January 17, 2023, CNCF will host a webinar. Join if you want to discuss the updates from the release team and ask questions.

According to the Kubernetes Blog, this release includes a total of 37 enhancements: eleven graduating to Stable, ten graduating to Beta, and sixteen entering Alpha. There are also twelve features being deprecated or removed.

Let’s dive deeper and overview the most important changes.

Change in the container image registry

In this release, all the container images for Kubernetes are published in the new registry, which was introduced in the previous release, registry.k8s.io

The new registry allows the spread of the load across multiple Cloud Providers and Regions so that you can use both GCP and AWS for your project.
This change reduced the reliance on a single entity and provided a faster download experience for a large number of users. 

Dynamic Resource Allocation graduates to alpha

This new feature provides better resource management by putting it in the hands of 3rd party developers.

Now the scheduler not only takes memory, storage, and CPU into account but also can limit access to those resources.

Unhealthy Pod Eviction Policy in alpha

To use this behavior, you must enable the PDBUnhealthyPodEvictionPolicy feature gate on the API server.

Using this policy you can define the criteria for when unhealthy pods should be marked for eviction when using a PodDisruptionBudget. So when pods need to be rescheduled, you can do it with less disruption.

Non-Graceful Node Shutdown Moves to Beta

In version 1.26 this feature is turned on by default.

This means that when a node is shut down or crashes but is not detected by the kubelet, the pods from a StatefulSet will not be stuck in terminating status. Instead, they will be forcibly deleted and new pods will be created on a different node.

Component Health Service Level Indicators graduates to alpha

Once you enable the ComponentSLIs feature flag, you have an additional metrics endpoint that allows the calculation of Service Level Objectives (SLOs) from raw healthcheck data converted into the metric format.

You can find each SLI metric exposed for each Kubernetes component in Prometheus format.

Retroactive Default StorageClass moved to beta

With this feature turned on, you can change the default storage class because you no longer need to create a default StorageClass first and PVC second to assign the class. Additionally, any PVCs without a StorageClass assigned can be updated later. 

PVCs with either empty or no StorageClassName attribute will automatically use the new default storage class.

NodeInclusionPolicyInPodTopologySpread graduates to beta

By specifying a nodeInclusionPolicy in topologySpreadConstraints, you can control whether to take taints/tolerations into consideration when calculating Pod Topology Spread skew.

Windows HostProcess Containers Are Generally Available

In version 1.26 windows containers are allowed to have access to the underlying host for system administration, security, and monitoring or logging workloads by default.

CPUManager goes GA

The CPU Manager is a part of the kubelet, the Kubernetes node agent, which enables the user to allocate exclusive CPUs to containers. 

It has also graduated to generally available in version 1.26 and is turned on by default. This is useful for workloads that are CPU-intensive or sensitive to CPU throttling.

 

in Apprecode we already use Electrifying for our leading customers. Please feel free to contact us for details.
 

Read also

Probe Your Way to Success: Mastering Kubernetes Readiness and Liveness Probes

Kubernetes probes feature enables you to keep an eye on the status of your containers and act properly as needed.

Terragrunt Overview & Usage

Terragrunt is a thin wrapper that provides extra tools for keeping your configurations DRY, working with multiple Terraform modules, and managing remote state.