Kubernetes v1.31.0-alpha.3 is live!

Skip to first unread message

Meha Bhalodiya

Jul 2, 2024, 11:14:00 AM (11 days ago) Jul 2
to d...@kubernetes.io, kubernete...@kubernetes.io
Kubernetes Community,

Kubernetes v1.31.0-alpha.3 has been built and pushed using Golang version 1.22.4.

The release notes have been updated in CHANGELOG-1.31.md, with a pointer to them on GitHub:


Downloads for v1.31.0-alpha.3

Source Code

filenamesha512 hash

Client Binaries

filenamesha512 hash

Server Binaries

filenamesha512 hash

Node Binaries

filenamesha512 hash

Container Images

All container images are available as manifest lists and support the described architectures. It is also possible to pull a specific architecture directly by adding the "-$ARCH" suffix to the container image name.


Changelog since v1.31.0-alpha.2

Changes by Kind

API Change

  • DRA: in the pod.spec.recourceClaims array, the source indirection is no longer necessary. Instead of e.g. source: resourceClaimTemplateName: my-template, one can write resourceClaimTemplateName: my-template. (#125116@pohly) [SIG API Machinery, Apps, Auth, Node, Scheduling and Testing]
  • Fix code-generator client-gen to work with api/v1-like package structure. (#125162@sttts) [SIG API Machinery and Apps]
  • KEP-1880: Users of the new feature to add multiple service CIDR will use by default a dual-write strategy on the new ClusterIP allocators to avoid the problem of possible duplicate IPs allocated to Services when running skewed kube-apiservers using different allocators. They can opt-out of this behavior by enabled the feature gate DisableAllocatorDualWrite (#122047@aojea) [SIG API Machinery, Apps, Instrumentation and Testing]
  • Kube-apiserver: ControllerRevision objects are now verified to contain valid JSON data in the data field. (#125549@liggitt) [SIG API Machinery and Apps]
  • Update the feature MultiCIDRServiceAllocator to beta (disabled by default). Users need to enable the feature gate and the networking v1beta1 group to be able to use this new feature, that allows to dynamically reconfigure Service CIDR ranges. (#125021@aojea) [SIG API Machinery, Apps, CLI, Etcd, Instrumentation, Network and Testing]
  • When the featuregate AnonymousAuthConfigurableEndpoints is enabled users can update the AuthenticationConfig file with endpoints for with anonymous requests are alllowed. (#124917@vinayakankugoyal) [SIG API Machinery, Auth, Cloud Provider, Node and Testing]


  • Add Extra.DisableAvailableConditionController for Generic Control Plane setup in kube-aggregator (#125650@mjudeikis) [SIG API Machinery]
  • Add field management support to the fake client-go typed client. Use fake.NewClientset() instead of fake.NewSimpleClientset() to create a clientset with managed field support. (#125560@jpbetz) [SIG API Machinery, Auth, Instrumentation and Testing]
  • Continue streaming kubelet logs when the CRI server of the runtime is unavailable. (#124025@saschagrunert) [SIG Node]
  • Graduates the WatchList feature gate to Beta for kube-apiserver and enables WatchListClient for KCM. (#125591@p0lyn0mial) [SIG API Machinery and Testing]
  • Improve memory usage of kube-apiserver by dropping the .metadata.managedFields field that self-requested informers of kube-apiserver doesn't need. (#124667@linxiulei) [SIG API Machinery]
  • In the client-side apply on create, defining the null value as "delete the key associated with this value". (#125646@HirazawaUi) [SIG API Machinery, CLI and Testing]
  • KEP-3857: promote RecursiveReadOnlyMounts feature to beta (#125475@AkihiroSuda) [SIG Node]
  • Kube-scheduler implements scheduling hints for the VolumeRestriction plugin. Scheduling hints allow the scheduler to retry scheduling Pods that were previously rejected by the VolumeRestriction plugin if the Pod is deleted and the deleted Pod conflicts with the existing volumes of the current Pod. (#125279@HirazawaUi) [SIG Scheduling and Storage]
  • Kubeadm: added the ControlPlaneKubeletLocalMode feature gate. It can be used to tell kubeadm to use the local kube-apiserver endpoint for the kubelet when creating a cluster with "kubeadm init" or when joining control plane nodes with "kubeadm join". The "kubeadm join" workflow now includes two new experimental phases called "control-plane-join-etcd" and "kubelet-wait-bootstrap" which will be used when the feature gate is enabled. This phases will be marked as non-experimental when ControlPlaneKubeletLocalMode becomes GA. During "kubeadm upgrade" commands, if the feature gate is enabled, modify the "/etc/kubernetes/kubelet.conf " to use the local kube-apiserver endpoint. This upgrade mechanism will be removed once the feature gate goes GA and is hardcoded to true. (#125582@chrischdi) [SIG Cluster Lifecycle]
  • Move ConsistentListFromCache feature flag to Beta and enable it by default (#123513@serathius) [SIG API Machinery and Testing]
  • Promote HonorPVReclaimPolicy to beta and enable the feature-gate by default (#124842@carlory) [SIG Apps, Storage and Testing]
  • Promoted the feature gate KubeProxyDrainingTerminatingNodes to stable (#125082@alexanderConstantinescu) [SIG Network]
  • The PodDisruptionBudget spec.unhealthyPodEvictionPolicy field has graduated to GA. This field may be set to AlwaysAllow to always allow unhealthy pods covered by the PodDisruptionBudget to be evicted. (#123428@atiratree) [SIG Apps, Auth, Node and Testing]
  • The feature-gate CSIMigrationPortworx was promoted to beta in Kubernetes 1.25, but turn it off by default. In 1.31, it was turned on by default. Before upgrading to 1.31, please make sure that the corresponding portworx csi driver is installed if you are using Portworx. (#125016@carlory) [SIG Storage]

Bug or Regression

  • DRA: using structured parameters with a claim that gets reused between pods may have led to a claim with an invalid state (allocated without a finalizer) which then caused scheduling of pods using the claim to stop. (#124931@pohly) [SIG Node and Scheduling]

  • Fix a bug that Pods could stuck in the unschedulable pod pool if they're rejected by PreEnqueue plugins that could change its result by a change in resources apart from Pods.

    DRA plugin is the only plugin that meets the criteria of the bug in in-tree, and hence if you have DynamicResourceAllocation feature flag enabled, your DRA Pods could be affected by this bug. (#125527@sanposhiho) [SIG Scheduling and Testing]

  • Fix bug where Server Side Apply causes spurious resourceVersion bumps on no-op patches to custom resources. (#125263@jpbetz) [SIG API Machinery and Testing]

  • Fix bug where Server Side Apply causing spurious resourceVersion bumps on no-op patches containing empty maps. (#125317@jpbetz) [SIG API Machinery and Testing]

  • Fix null lastTransitionTime in Pod condition when setting scheduling gate. (#122636@lianghao208) [SIG Node and Scheduling]

  • Fix recursive LIST from watch cache returning object matching key (#125584@serathius) [SIG API Machinery and Testing]

  • Fix: during the kube-controller-manager restart, when the corresponding Endpoints resource was manually deleted and recreated, causing the endpointslice to fail to be created normally. (#125359@yangjunmyfm192085) [SIG Apps and Network]

  • Kube-apiserver: fixes a 1.27+ regression watching a single namespace via the deprecated /api/v1/watch/namespaces/$name endpoint where watch events were not delivered after the watch was established (#125145@xyz-li) [SIG API Machinery, Node and Testing]

  • Kube-apiserver: timeouts configured for authorization webhooks in the --authorization-config file are now honored, and webhook timeouts are accurately reflected in webhook metrics with result=timeout (#125552@liggitt) [SIG API Machinery, Auth and Testing]

  • Kubeadm: Added --yes flag to the list of allowed flags so that it can be mixed with kubeadm upgrade apply --config (#125566@xmudrii) [SIG Cluster Lifecycle]

  • Kubeadm: during the validation of existing kubeconfig files on disk, handle cases where the "ca.crt" is a bundle and has intermediate certificates. Find a common trust anchor between the "ca.crt" bundle and the CA in the existing kubeconfig on disk instead of treating "ca.crt" as a file containing a single CA. (#123102@astundzia) [SIG Cluster Lifecycle]

  • Kubeadm: fix a bug where the path of the manifest can not be specified when kubeadm upgrade diff specified a config file, and the --api-server-manifest--controller-manager-manifest and --scheduler-manifest flags of kubeadm upgrade diff are marked as deprecated and will be removed in a future release. (#125779@SataQiu) [SIG Cluster Lifecycle]

  • Kubeadm: the --feature-gates flag is deprecated and no-op for kubeadm upgrade apply/plan, and it will be removed in a future release. The upgrade workflow is not designed to reconfigure the cluster. Please edit the 'featureGates' field of ClusterConfiguration which is defined in the kube-system/kubeadm-config ConfigMap instead. (#125797@SataQiu) [SIG Cluster Lifecycle]

  • Kubelet now hard rejects pods with AppArmor if the node does not have AppArmor enabled. (#125776@vinayakankugoyal) [SIG Node]

  • Now the .status.ready field is tracked faster when active Pods are deleted, specifically when Job is failed, gets suspended or has too many active pods (#125546@dejanzele) [SIG Apps]

  • When schedulingQueueHint is enabled, the scheduling queue doesn't update Pods being scheduled immediately. (#125578@nayihz) [SIG Scheduling]

Other (Cleanup or Flake)

  • DRA: fix some small, unlikely race condition during pod scheduling (#124595@pohly) [SIG Node, Scheduling and Testing]
  • Kube-apiserver: the --enable-logs-handler flag and log-serving functionality which was already deprecated is now switched off by default and scheduled to be removed in v1.33. (#125787@dims) [SIG API Machinery, Network and Testing]
  • Kubeadm: improve the warning/error messages of validateSupportedVersion to include the checked resource kind name. (#125758@SataQiu) [SIG Cluster Lifecycle]
  • Removing deprecated kubectl exec [POD] [COMMAND] (#125437@ardaguclu) [SIG CLI and Testing]
  • This change improves documentation clarity, making it more understandable for new users and contributors. (#125536@this-is-yaash) [SIG Release]
  • kubectl describe service now shows internal traffic policy and ip mode of load balancer IP (#125117@tnqn) [SIG CLI and Network]



Nothing has changed.



Contributors, the CHANGELOG-1.31.md has been bootstrapped with v1.31.0-alpha.3 release notes and you may edit now as needed.

Published by your Kubernetes Release Managers.

Vamshi Maskuri

Jul 2, 2024, 11:18:37 AM (11 days ago) Jul 2
to mehabh...@gmail.com, d...@kubernetes.io, kubernete...@kubernetes.io


You received this message because you are subscribed to the Google Groups "dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dev+uns...@kubernetes.io.
To view this discussion on the web visit https://groups.google.com/a/kubernetes.io/d/msgid/dev/CAKC1YU0S8WM%2BcDVKgw8RVzRHMwFehi41i5cyp2LepAsDe3DejA%40mail.gmail.com.
Reply all
Reply to author
0 new messages