K8S Kubernetes
01/10/2023
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.
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.
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.
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.
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.
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.
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.
By specifying a nodeInclusionPolicy in topologySpreadConstraints, you can control whether to take taints/tolerations into consideration when calculating Pod Topology Spread skew.
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.
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.