- Documentation
Volcengine Kubernetes Engine
Volcengine Kubernetes Engine
What's New
Kubernetes version release notes
Release notes of VKE based on Kubernetes v1.34
Kubernetes version release notes
Release notes of VKE based on Kubernetes v1.34
Release notes of VKE based on Kubernetes v1.34
Volcengine Kubernetes Engine (VKE) strictly adheres to the Certified Kubernetes Conformance Program. This topic describes the changes introduced in the VKE release based on Kubernetes v1.34.
Table 1: Core components and descriptions
Table 2: Kubernetes versions and the corresponding VKE versions
About Kubernetes community versions
- The Dynamic Resource Allocation (DRA) feature has entered the GA stage. DRA provides a richer set of descriptors for devices (requirements), supporting more advanced scheduling policies and flexible utilization of device resources. For details, see Dynamic Resource Allocation.
- The Volume Attributes Class feature has reached the GA stage, allowing dynamic adjustment of volume performance attributes by modifying the volumeAttributesClassName field after PVC creation. For details, see Volume Attributes Classes.
- The ResilientWatchCacheInitialization feature has reached the GA stage. When the APIServer starts up, the watchCache must be fully initialized. Otherwise, the APIServer startup will fail. To improve system performance and stability, during watchCache initialization, watch requests and most list requests are rejected to prevent control‑plane overload and ensure successful startup. For details, see Resilient watchcache initialization.
- The Streaming List responses feature is promoted to GA. The APIServer now encodes List response bodies in a streaming manner (using protobuf or JSON request formats). This avoids allocating all memory at once, preventing excessive memory consumption when handling List requests. For details, see Streaming Encoding for LIST Responses.
- The Cache‑Based Consistent Read feature has reached the GA stage. The APIServer now supports consistent reads served directly from its cache. By leveraging the progress notification mechanism of ETCD, the cache is kept consistent with ETCD, and consistent read requests are handled based on the cache. This reduces direct queries to ETCD (avoiding cache penetration) and improves request processing efficiency. For details, see Consistent reads from cache.
- The RelaxedDNSSearchValidation feature has reached the GA stage. It relaxes the validation rules for container DNS search strings (.spec.dnsConfig.searches), allowing underscores (_) and periods (.) to be included in DNS search strings.
- The RelaxedEnvironmentVariableValidation feature has reached the GA stage. The pod env name can now contain any printable ASCII character except "=". The range of printable ASCII characters is 32–126.
- The ListFromCacheSnapshot feature has entered the Beta stage. It allows the APIServer to create snapshots of the Watch cache storage and use these snapshots to handle LIST requests. For details, see Snapshottable API server cache.
- Pod‑level resources have entered the Beta stage, enabling the specification of resource requests and limits at the pod level. For details, see Pod Level Resources.
- The Pod Generation feature has entered the Beta stage. It allows the observedGeneration field to be set in the Pod status and allows other add-ons to include observedGeneration in Pod Conditions, reflecting the metadata.generation of pods at the time the state or condition was recorded.
- The Watch‑List feature has entered the Beta stage. It converts LIST requests into Watch‑List requests for streaming processing, transmitting each item individually in a stream rather than returning the entire dataset at once, thereby reducing memory consumption. This feature is enabled by default for both the APIServer and the Kube‑controller‑manager. The WatchListClient FeatureGate is explicitly enabled on the client side. For details, see Allow informers for getting a stream of data instead of chunking.
- The PreferSameTrafficDistribution feature has entered the Beta stage. Service now supports setting the spec.trafficDistribution value to PreferSameZone or PreferSameNode. PreferSameNode prioritizes sending traffic to endpoints that reside on the same node as the client. The legacy PreferClose option has been deprecated. For details, see Traffic Distribution.
- The container restart policy feature has entered the Alpha stage, enabling the configuration of restart policies at the container level. Each container can have its own restartPolicy set individually, and restartPolicyRules can be used to control restart behavior based on exit codes. For details, see Finer-Grained Control Over Container Restarts.
- The Extended Service IP Range feature has reached the GA stage. It introduces the ServiceCIDR and IPAddress resources to track the allocation of Service ClusterIPs and supports dynamically expanding the assignable ClusterIP range through ServiceCIDR. For details, see Extend Service IP Ranges.
- The Service Traffic Distribution feature has reached the GA stage. By configuring the .spec.trafficDistribution field of a Service, you can define the preference for how traffic is routed to back-end endpoints. For details, see Traffic distribution control.
- The HonorPVReclaimPolicy feature has reached the GA stage. When the reclaimPolicy of a PV is set to Delete, it ensures that the underlying storage resources are deleted strictly according to the policy, regardless of the deletion order of the PV or PVC, thereby preventing storage resource leaks. For details, see PersistentVolume deletion protection finalizer.
- The Native Sidecar Containers feature has reached the GA stage. It enables sidecar containers by configuring the restartPolicy field within Init containers. Sidecar containers operate independently of other Init containers and the main application containers within the same pod. For details, see Sidecar containers.
- The CPUManagerPolicyOptions feature has reached the GA stage, enabling fine‑tuning of the resource allocation policies of CPU Manager. For details, see Static policy options.
- The ImageVolume feature has entered the Beta stage and is disabled by default. It allows users to specify an OCI image reference as a read‑only volume in a pod and mount it for reuse within containers. Multiple containers within a pod can share a single configuration file without including it in the main image, thereby minimizing security risks and reducing overall image size. For details, see Image Volumes.
- The ProcMountType feature has entered the Beta stage. It allows customization of the mount type for the /proc filesystem inside containers via the securityContext.procMount field of a pod, enabling fine‑grained control over /proc filesystem access and improving pod security and isolation.
- The UserNamespacesSupport feature has entered the Beta stage, enabling pods to utilize Linux User Namespaces for enhanced container security. For details, see User Namespaces enabled by default.
- The In‑Place Pod Resource Adjustment feature has entered the Beta stage. With the new InPlacePodVerticalScaling feature gate enabled, it supports adjusting the CPU and memory values under the resources field of pod containers. This avoids restarting the pod or its containers, enabling vertical autoscaling in place. For details, see In-Place Pod Resize.
- The Custom Container Stop Signal feature has entered the Alpha stage, allowing users to define the signal sent by the container runtime when stopping a container within the pod spec. For details, see Defining custom stop signals.
Deprecated and removed features
- In Kubernetes v1.34, Kubelet has removed the deprecated startup flag --register-schedulable. It no longer supports marking a node as unschedulable during registration, and recommends using registerWithTaints instead.
- In Kubernetes v1.33, the Git-Repo volume add-on is disabled by default. If you need to retain it, you can manually enable the GitRepoVolumeDriver feature gate.
- In Kubernetes v1.33, DisableNodeKubeProxyVersion is enabled by default and cannot be disabled. kubelet no longer sets the node's status.kubeProxyVersion field.
- In Kubernetes v1.33, the v1alpha1 versions of ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding have been removed.
- In Kubernetes v1.33, resource.k8s.io/v1beta1 is deprecated, and using v1beta2 instead is recommended.
- In Kubernetes v1.33, the apidiscovery.k8s.io/v2beta1 API group is disabled. This API is used by clients to query all registered API resources in the cluster. We recommend migrating to the stable v2 version.
- In Kubernetes v1.33, the Pod status.resize field is deprecated and replaced by the PodResizeInProgress and PodResizePending conditions, which indicate the status of resource adjustments during vertical scaling of pods.
- In Kubernetes v1.33, the EndpointSlice annotation service.kubernetes.io/topology-mode is deprecated. Using spec.trafficDistribution instead is recommended.
For more information about the performance and feature evolution in Kubernetes v1.34, see
Last updated: 2026.09.17 10:39:30