Skip to content

Commit 55c76b7

Browse files
authored
Including tracked changes only (removed most of the content)
Update 2024-11-08-kubernetes-1.32-sneak-peek.md
1 parent 2306d5a commit 55c76b7

File tree

1 file changed

+2
-53
lines changed

1 file changed

+2
-53
lines changed

content/en/blog/_posts/2024-11-08-kubernetes-1.32-sneak-peek.md

Lines changed: 2 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -55,39 +55,9 @@ The following list of enhancements is likely to be included in the v1.32 release
5555

5656
### Even more DRA enhancements!
5757

58-
In this release, like the previous one, the Kubernetes project continues introducing enhancements to the Dynamic Resource Allocation (DRA), a key component of the Kubernetes resource management system. These enhancements aim to improve the flexibility and efficiency of resource allocation for workloads that require specialized hardware, such as GPUs, FPGAs and network adapters. The improvements for this release include:
58+
In this release, like the previous one, the Kubernetes project continues proposing a number of enhancements to the Dynamic Resource Allocation (DRA), a key component of the Kubernetes resource management system. These enhancements aim to improve the flexibility and efficiency of resource allocation for workloads that require specialized hardware, such as GPUs, FPGAs and network adapters. This release introduces improvements, including the addition of resource health status in the Pod status, as outlined in KEP [#4680](https://github.com/kubernetes/enhancements/issues/4680).
5959

60-
- Partitionable devices support: [KEP #4815](https://github.com/kubernetes/enhancements/issues/4815)
61-
- Resource Claim status and standardized network interface data: [KEP #4817](https://github.com/kubernetes/enhancements/issues/4817)
62-
- Structured parameters: [KEP #4381](https://github.com/kubernetes/enhancements/issues/4381)
63-
- Prioritized alternatives in device requests: [KEP #4816](https://github.com/kubernetes/enhancements/issues/4816)
64-
- Resource health status in Pod status: [KEP #4680](https://github.com/kubernetes/enhancements/issues/4680)
65-
66-
**Partitionable devices support**
67-
68-
KEP [#4815](https://github.com/kubernetes/enhancements/issues/4815) proposes improvements to Kubernetes' Dynamic Resource Allocation (DRA) framework, enabling more efficient support for high-performance partitionable devices like GPUs, FPGAs, and network adapters. Currently, these devices are treated as whole units, potentially leading to resource inefficiencies when workloads require only a fraction of a device’s capacity.
69-
By extending the DRA framework, this enhancement allows workloads to request and consume portions of these resources, increasing utilization and scheduling flexibility. The proposed enhancement also provides primitives for representing both full devices and their partitions more compactly, supporting the recent transition from "classic DRA" to the "structured parameters" approach.
70-
The newly proposed extensions, fully transparent to the end-user, enable device management plugins to provision “overlapping” partitions, ensuring that the scheduler does not allocate conflicting partitions. This approach allows vendors to dynamically create new partitions after allocation, eliminating the need for pre-partitioned configurations while still supporting device partition selection through existing mechanisms like `ResourceClaim` and `ResourceSlice` in Kubernetes v1.31.
71-
72-
**ResourceClaim status and standardized network interface data**
73-
74-
KEP [#4817](https://github.com/kubernetes/enhancements/issues/4817) proposes adding new driver-owned fields in the `status` field of ResourceClaim with the possibility of having standardized network interface data.
75-
This is a proposal to enhance the `status` field of ResourceClaims by adding a new sub-field: `devices`.
76-
The new field will allow the reporting of driver-specific device status data for each allocated device in a ResourceClaim. Allowing the drivers to report such data will improve observability and troubleshooting and enable new functionalities such as network services (in case the IP addresses of a network device are reported).
77-
78-
**DRA structured parameters**
79-
80-
The original dynamic resource allocation (DRA) uses claim and class parameters that are opaque to Kubernetes. KEP [#4381](https://github.com/kubernetes/enhancements/issues/4381) introduces structured parameters so that kube-scheduler and Cluster Autoscaler can handle a claim allocation without relying on a third-party driver.
81-
As users increasingly adopt Kubernetes as their management solution for batch-processing workloads and edge computing, the need to expose specialized hardware to Pods is increasing.
82-
Such workloads no longer need just RAM and CPU, so Kubernetes v1.32 will introduce a new API to describe which of these specialized resources a Pod needs, such as devices like a GPU or other kinds of accelerators.
83-
84-
85-
**Prioritized alternatives in device requests**
86-
87-
KEP [#4816](https://github.com/kubernetes/enhancements/issues/4816) proposes support for prioritized selection criteria associated to a device request in a ResourceClaim.
88-
DRA _structured parameters_ will gain the ability to make requests for very specific types of devices using a ResourceClaim.
89-
90-
**Add resource health status to the Pod status**
60+
#### Add resource health status to the Pod status
9161

9262
It isn't easy to know when a Pod uses a device that has failed or is temporarily unhealthy.
9363
KEP [#4680](https://github.com/kubernetes/enhancements/issues/4680) proposes exposing device health via Pod `status`, making troubleshooting of Pod crashes easier.
@@ -97,38 +67,17 @@ KEP [#4680](https://github.com/kubernetes/enhancements/issues/4680) proposes exp
9767
KEP [#4802](https://github.com/kubernetes/enhancements/issues/4802) adds support for graceful shutdowns of Windows nodes in Kubernetes clusters.
9868
Before this release, Kubernetes provided graceful node shutdown functionality for Linux nodes but lacked equivalent support for Windows. This enhancement enables the kubelet on Windows nodes to handle system shutdown events properly. Doing so, it ensures that Pods running on Windows nodes are gracefully terminated, allowing workloads to be rescheduled without disruption. This improvement enhances the reliability and stability of clusters that include Windows nodes, especially during a planned maintenance or any system updates.
9969

100-
KEP [#4885](https://github.com/kubernetes/enhancements/issues/4885) adds CPU and memory affinity support to Windows nodes in Kubernetes, thus improving performance for workloads that benefit from cache vicinity and NUMA optimizations; this effort also aligns Windows capabilities with Linux nodes.
101-
10270
### Allow special characters in environment variables
10371

10472
With the graduation of this [enhancement](https://github.com/kubernetes/enhancements/issues/4369) to beta, Kubernetes now allows almost all printable ASCII characters (excluding "=") to be used as environment variable names. This change addresses the limitations previously imposed on variable naming, facilitating a broader adoption of Kubernetes by accommodating various application needs. The relaxed validation will be enabled by default via the `RelaxedEnvironmentVariableValidation` feature gate, ensuring that users can easily utilize environment variables without strict constraints, enhancing flexibility for developers working with applications like .NET Core that require special characters in their configurations.
10573

106-
### Field status.hostIPs added for Pod
107-
108-
This [enhancement](https://github.com/kubernetes/enhancements/issues/2681) introduces a new field, `status.hostIPs`, to the Kubernetes Pod API, enabling support for multiple IP addresses (IPv4 and IPv6) assigned to a node. Previously, the Pod status only included a singular HostIP field, which limited address configurations, particularly in dual-stack networks. This enhancement allows the API to store multiple IP addresses in an array, accessible via the Downward API, which applications can leverage for environments with complex IP requirements, such as IPv6 migrations.
109-
The feature is controlled by the PodHostIPs feature gate, supporting flexibility for gradual rollout.
110-
111-
For more information about giving containers information about themselves, visit the [downward-api documentation](/docs/concepts/workloads/pods/downward-api/).
112-
11374
### Make Kubernetes aware of the LoadBalancer behavior
11475

11576
KEP [#1860](https://github.com/kubernetes/enhancements/issues/1860) graduates to GA, introducing the `ipMode` field for a Service of `type: LoadBalancer`, which can be set to either `"VIP"` or `"Proxy"`. This enhancement is aimed at improving how cloud providers load balancers interact with kube-proxy and it is a change transparent to the end user. The existing behavior of kube-proxy is preserved when using `"VIP"`, where kube-proxy handles the load balancing. Using `"Proxy"` results in traffic sent directly to the load balancer, providing cloud providers greater control over relying on kube-proxy; this means that you could see an improvement in the performance of your load balancer for some cloud providers.
11677

117-
### Support PSI based on cgroupv2
118-
This [KEP](https://github.com/kubernetes/enhancements/issues/4205) adds support in the Kubelet to read Pressure Stall Information (PSI) metrics for CPU, Memory and I/O resources exposed from cAdvisor and runc. Pressure metrics are like a barometer that can warn about impending resource shortages on a node. This will enable the Kubelet to report node conditions, which can be utilized to prevent the scheduling of Pods on nodes experiencing significant resource constraints.
119-
12078
### Retry generate name for resources
12179
This [enhancement](https://github.com/kubernetes/enhancements/issues/4420) improves how name conflicts are handled for Kubernetes resources created with the `generateName` field. Previously, if a name conflict occurred, the API server returned a 409 HTTP Conflict error and clients had to manually retry the request. With this update, the API server automatically retries generating a new name up to seven times in case of a conflict. This significantly reduces the chances of collision, ensuring smooth generation of up to 1 million names with less than a 0.1% probability of a conflict, providing more resilience for large-scale workloads.
12280

123-
### Mutating admission policies
124-
125-
This [enhancement](https://github.com/kubernetes/enhancements/issues/3962) will introduce _mutating admission policies_ using CEL (Common Expression Language), allowing Kubernetes users to declaratively in-line mutating policies without complex admission webhooks.
126-
This enhancement simplifies common mutating tasks—such as adding labels, setting fields, or injecting sidecars—by enabling policies to be directly defined within the Kubernetes API server. With CEL's object instantiation and Server-Side Apply merge algorithms, these policies can minimize reinvocation, reduce latency, and eliminate the overhead associated with webhook management. This new approach enhances Kubernetes extensibility by reducing operational complexity, while providing a scalable, built-in solution for secure and efficient policy management across diverse use cases like GitOps and CI/CD. Making Kubernetes admission control more accessible and powerful for developers and administrators alike.
127-
128-
### Control over terminating Pods in deployments
129-
130-
This [enhancement](https://github.com/kubernetes/enhancements/issues/3973) adds a new field `.spec.podReplacementPolicy` to Deployments to specify whether new Pods can be created only after old Pods have finished terminating or once old Pods start terminating. The default behavior depends on the deployment strategy. Specifying this Pod replacement policy can better control the speed of rollouts/scaling and potentially avoid problems with excessive resource usage.
131-
13281
## Want to know more?
13382
New features and deprecations are also announced in the Kubernetes release notes. We will formally announce what's new in [Kubernetes v1.32](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md) as part of the CHANGELOG for this release.
13483

0 commit comments

Comments
 (0)