Kubernetes v1.31.0-beta.0 is live!

176 views
Skip to first unread message

Meha Bhalodiya

unread,
Jul 16, 2024, 9:14:19 AMJul 16
to d...@kubernetes.io, kubernete...@googlegroups.com
Kubernetes Community,

Kubernetes v1.31.0-beta.0 has been built and pushed using Golang version 1.22.5.

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


v1.31.0-beta.0

Downloads for v1.31.0-beta.0

Source Code

filenamesha512 hash
kubernetes.tar.gzfeed42d09f9b053547d6e74a57bdad9ad629397247ca1b319f35223221b44f1986f8e8137e5ea6e3cd3697c92f30f1a0ff267ad5c63ba7461cb2ccad1a4893af
kubernetes-src.tar.gz62ad62af35b3309e58d14edf264e3c1aed6cbd4ccb0f30d577856605be0d712b31c16bab1374874e814d177583fd66eb631f7f260da2c4944ee9a9d856751031

Client Binaries

filenamesha512 hash
kubernetes-client-darwin-amd64.tar.gzb04340d72abefe8eab81a24390f3d0446dfddc445b17202c8a5ff6ef408db8a7417c1bf3c8979cb1febfb72fc76c438ebec665d9297b06a7f3e4127976f9d897
kubernetes-client-darwin-arm64.tar.gz0770657abdf8d7ea3d42d3fb3b13f60095b767cf404d3baa375a6e78522948fa3c6f7df6fd24de6a429e4efe2c888349c9fd79057d095e33419b7056368b3691
kubernetes-client-linux-386.tar.gz2763b17ec9bca7fe9fccb70f222647c7eb18d980897c723a93fa6f50c7e52500e231340eda42a9c3883680277e3adaa305776bba424666c6c90b68274e1d1bbc
kubernetes-client-linux-amd64.tar.gzc9cf45d9250c4832470a3a81373d2ac3d0e9a38ef40751c268228251358fe94f097efdf43ad63f88f26c61d45ac79f3c297d66f0b0b7d8885fed6276d8ec83a9
kubernetes-client-linux-arm.tar.gz6f7879284fd956913c9c2e0c43b25fd6995524260069a3d4d3d35bdce776c8539301cbab50930dfa090a5179438d94a36939aceb5127cc6bf8b360e9d49f6186
kubernetes-client-linux-arm64.tar.gz890b6eed70793d0fa5cfc8540de365e787608d8781bc39055ace1a4a7ae61886dd9297fae92c0fe76c4b7ed9b3fc1f1794d88c0134c4a336fe7217daf68b470d
kubernetes-client-linux-ppc64le.tar.gz6a81375f99f4176a26ac05144bd82f1f2fd247b88041fd3f80ab2212c6623f0843e979edf753a65b43b508d9cefca8d567ac299125cb303b281ea0f87bcd1599
kubernetes-client-linux-s390x.tar.gz241d1ced25ff6b99bd32ebf25bc6b53cbcf0582ee41476d44b13fff9f9b9264a13109ec56e64ed9c2588a7a7e25c4673fa2cc7299fe5d4597bef45784351c247
kubernetes-client-windows-386.tar.gz3e9186866d1b4df935d7892a750df9e510c1d5b44682b270c29c58d547bf3cc3c2758500a015f1d56d00bbacd50bf01a022088c8b1d8e57ec5236cb613cab4f0
kubernetes-client-windows-amd64.tar.gz7e1e1af36e28db6c8079fade9616004fd57437f8c6c2f7886bdae2e9485d41cf570ab7cdc6db5fcd033f669580e2441cd3a094548f795a20afde7f61243ef678
kubernetes-client-windows-arm64.tar.gz70aee5f8b2b6d7882a8e69dfedbe21bc9300cf6ea008433a5fb61585bf78e54a714b0b4506e1372a85369d74bb9cffd807ca02b59f63cc5c9f64272a7858abb9

Server Binaries

filenamesha512 hash
kubernetes-server-linux-amd64.tar.gzdaf615524788e6c69c301de9d9ae7a0b21282168e1385a79faf0495df5b17ade093b89bbb704b95e5af5982863c6e9717bbee1b7aeeef4577bfa55d4f222737c
kubernetes-server-linux-arm64.tar.gzdc8822d3423b68f8b34f14942ea9767b9d88f18a8f28eb7e65aab76454f717ba8c8a7ee9760c350282a95d57a5dd915416b14596adfb4b3711f24cd24d2bfe24
kubernetes-server-linux-ppc64le.tar.gz8e1e363ff8f4e22e6f011fbd50955185e8dda432717dd46572d14327fd81c9785c1c9a22ae33d8d15e821fa29d428335b04058010b05dd472c8415fa4b0e8d94
kubernetes-server-linux-s390x.tar.gz27ddd1b7c2ff823832a837ea5dffbadd2c58b678c8d65d296e099799234b8ebb16cba3e24e2214d0b3bf6c39162cc9c24275186ad3624a166a3b81f4a1782be7

Node Binaries

filenamesha512 hash
kubernetes-node-linux-amd64.tar.gzc1ab508ec22f2f2b37c5643814de7f489b5d900d9732aa69393f52c7a18cd7c3c6f24ec4e7a6e82f1c278c8c213e34b28de0d6531ce22317bbcf539bdf490728
kubernetes-node-linux-arm64.tar.gz4d45b093c44ab033f70391d50553e67fc50942cd81fa0f502c9cdebea34be92f217cd44da1daa942b966e67e7109683bb7c0dff94f884528fbb6dab1de2d98d9
kubernetes-node-linux-ppc64le.tar.gz9d8fdd8c757100ba28eea9a2fda5e2883913d73cfdb3d0092a38a124fb1e23c49d601b665b79f23f8557562a5c6b3e8c4a461bfaedc96c21b27fe301880b3188
kubernetes-node-linux-s390x.tar.gzbdaa11bba13e6d2f97de2d79b4493e0713dfc89b5ca2dffcedd75dd4369e076107f8a01280e1b2ed5a0f771991f23f2a98e85d54c060eab97b480208a70f5b0d
kubernetes-node-windows-amd64.tar.gz775a4ec0a9216d4f9a84c4aa26e009c553b4b664af676dc2f0d7e16ed4c9e79cd050aead281a1f947e6475f4adb67c4d5f0e643703b44f4bcf69deb9216bd5f0

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.

namearchitectures
registry.k8s.io/conformance:v1.31.0-beta.0amd64arm64ppc64les390x
registry.k8s.io/kube-apiserver:v1.31.0-beta.0amd64arm64ppc64les390x
registry.k8s.io/kube-controller-manager:v1.31.0-beta.0amd64arm64ppc64les390x
registry.k8s.io/kube-proxy:v1.31.0-beta.0amd64arm64ppc64les390x
registry.k8s.io/kube-scheduler:v1.31.0-beta.0amd64arm64ppc64les390x
registry.k8s.io/kubectl:v1.31.0-beta.0amd64arm64ppc64les390x

Changelog since v1.31.0-alpha.3

Changes by Kind

API Change

  • Add UserNamespaces field to NodeRuntimeHandlerFeatures (#126034@sohankunkerkar) [SIG API Machinery, Apps and Node]
  • Fixes a 1.30.0 regression in openapi descriptions of PodIP.IP and HostIP.IP fields to mark the fields used as keys in those lists as required. (#126057@thockin) [SIG API Machinery]
  • Graduate JobPodFailurePolicy to GA and lock (#125442@mimowo) [SIG API Machinery, Apps, Scheduling and Testing]
  • Graduate PodDisruptionConditions to GA and lock (#125461@mimowo) [SIG Apps, Node, Scheduling and Testing]
  • PersistentVolumeLastPhaseTransitionTime feature is stable and enabled by default. (#124969@RomanBednar) [SIG API Machinery, Apps, Storage and Testing]
  • The (alpha) nftables mode of kube-proxy now requires version 1.0.1 or later of the nft command-line, and kernel 5.13 or later. (For testing/development purposes, you can use older kernels, as far back as 5.4, if you set the nftables.skipKernelVersionCheck option in the kube-proxy config, but this is not recommended in production since it may cause problems with other nftables users on the system.) (#124152@danwinship) [SIG Network]
  • Use omitempty for optional Job Pod Failure Policy fields (#126046@mimowo) [SIG Apps]
  • User can choose a different static policy option SpreadPhysicalCPUsPreferredOption to spread cpus across physical cpus for some specific applications (#123733@Jeffwan) [SIG Node]

Feature

  • --custom flag in kubectl debug will be enabled by default and yaml support is added (#125333@ardaguclu) [SIG CLI and Testing]

  • Add --for=create option to kubectl wait (#125868@soltysh) [SIG CLI and Testing]

  • Add a TopologyManager policy option: max-allowable-numa-nodes to configures maxAllowableNUMANodes for kubelet. (#124148@cyclinder) [SIG Node and Testing]

  • Add a warning log, an event for cgroup v1 usage and a metric for cgroup version. (#125328@harche) [SIG Node]

  • Added OCI VolumeSource Container Runtime Interface API fields and types. (#125659@saschagrunert) [SIG Node]

  • Added namespace autocompletion for kubectl config set-context command (#124994@TessaIO) [SIG CLI]

  • Bump the KubeletCgroupDriverFromCRI feature gate to beta and true by default. The kubelet will continue to use its KubeletConfiguration field as a fallback if the CRI implementation doesn't support this feature. (#125828@haircommander) [SIG Node]

  • Delay setting terminal Job conditions until all pods are terminal.

    Additionally, the FailureTarget condition is also added to the Job object in the first Job status update as soon as the failure conditions are met (backoffLimit is exceeded, maxFailedIndexes, or activeDeadlineSeconds is exceeded).

    Similarly, the SuccessCriteriaMet condition is added in the first update as soon as the expected number of pod completions is reached.

    Also, introduce the following validation rules for Job status when JobManagedBy is enabled:

    1. the count of ready pods is less or equal than active
    2. when transitioning to terminal phase for Job, the number of terminating pods is 0
    3. terminal Job conditions (Failed and Complete) should be preceded by adding the corresponding interim conditions: FailureTarget and SuccessCriteriaMet (#125510@mimowo) [SIG Apps and Testing]
  • ElasticIndexedJob is graduated to GA (#125751@ahg-g) [SIG Apps and Testing]

  • Introduces new functionality to the dynamic client's List method, allowing users to enable API streaming. To activate this feature, users can set the client-go.WatchListClient feature gate.

    It is important to note that the server must support streaming for this feature to function properly. If streaming is not supported by the server, the client will revert to using the normal LIST method to obtain data. (#125305@p0lyn0mial) [SIG API Machinery and Testing]

  • 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 a new pvc added, and the pvc belongs to pod. (#125280@HirazawaUi) [SIG Scheduling and Storage]

  • Kube-scheduler implements scheduling hints for the VolumeZone plugin. The scheduling hints allow the scheduler to only retry scheduling a Pod that was previously rejected by the VolemeZone plugin if addition/update of node, addition/update of PV, addition/update of PVC, or addition of SC matches pod's topology settings. (#124996@Gekko0114) [SIG Scheduling and Storage]

  • Kube-scheduler implements scheduling hints for the VolumeZone plugin. The scheduling hints allow the scheduler to only retry scheduling a Pod that was previously rejected by the VolemeZone plugin if addition/update of node, addition/update of PV, addition/update of PVC, or addition of SC matches pod's topology settings. (#125000@Gekko0114) [SIG Scheduling and Storage]

  • Kube-scheduler implements scheduling hints for the VolumeZone plugin. The scheduling hints allow the scheduler to only retry scheduling a Pod that was previously rejected by the VolemeZone plugin if addition/update of node, addition/update of PV, addition/update of PVC, or addition of SC matches pod's topology settings. (#125001@Gekko0114) [SIG Scheduling and Storage]

  • Kubelet: warn instead of error for the unsupported options on Windows "CgroupsPerQOS" and "EnforceNodeAllocatable". (#123137@neolit123) [SIG Node and Windows]

  • Kubernetes is now built with go 1.22.5 (#125894@cpanato) [SIG Release and Testing]

  • The Service trafficDistribution field has graduated to beta and is now available for configuration by default, without the need to enable any feature flag. Services that do not have the field configured will continue to operate with their existing behavior. Refer to the documentation https://kubernetes.io/docs/concepts/services-networking/service/#traffic-distribution for more details. (#125838@gauravkghildiyal) [SIG Network and Testing]

  • The scheduler implements QueueingHint in VolumeBinding plugin's CSINode event, which enhances the throughput of scheduling. (#125097@YamasouA) [SIG Scheduling and Storage]

  • Windows Kubeproxy will use the update load balancer API for load balancer updates, instead of the previous delete and create APIs.

    • Deletion of remote endpoints will be triggered only for terminated endpoints (those present in the old endpoints map but not in the new endpoints map), whereas previously it was also done for terminating endpoints. (#124092@princepereira) [SIG Network and Windows]

Bug or Regression

  • Add /sys/devices/virtual/powercap to default masked paths. It avoids the potential security risk that the ability to read these files may offer a power-based sidechannel attack against any workloads running on the same kernel. (#125970@carlory) [SIG Node]

  • Fix a bug that when PodTopologySpread rejects Pods, they may be stuck in Pending state for 5 min in a worst case scenario. The same problem could happen with custom plugins which have Pod/Add or Pod/Update in EventsToRegister, which is also solved with this PR, but only when the feature flag SchedulerQueueingHints is enabled. (#122627@sanposhiho) [SIG Scheduling and Testing]

  • Fix endpoints status out-of-sync when the pod state changes rapidly (#125675@tnqn) [SIG Apps, Network and Testing]

  • Fix the bug where PodIP field is temporarily removed for a terminal pod (#125404@mimowo) [SIG Node and Testing]

  • For statically provisioned PVs, if its volume source is CSI type or it has migrated annotation, when it's deleted, the PersisentVolume controller won't changes its phase to the Failed state.

    With this patch, the external provisioner can remove the finalizer in next reconcile loop. Unfortunately if the provious existing pv has the Failed state, this patch won't take effort. It requires users to remove finalizer. (#125767@carlory) [SIG Apps and Storage]

  • LastSuccessfullTime in cronjobs will now be set reliably (#122025@lukashankeln) [SIG Apps]

  • Stop using wmic on Windows to get uuid in the kubelet (#126012@marosset) [SIG Node and Windows]

  • The scheduler retries scheduling Pods rejected by PreFilterResult (PreFilter plugins) more appropriately; it now takes events registered in those rejector PreFilter plugins into consideration. (#122251@olderTaoist) [SIG Scheduling and Testing]

Other (Cleanup or Flake)

  • API Priority and Fairness feature was promoted to GA in 1.29, the corresponding feature gate 'APIPriorityAndFairness' has been removed in 1.31. (#125846@tkashem) [SIG API Machinery]

  • Drop support for the deprecated and unsupported kubectl run flags:

    • filename
    • force
    • grace-period
    • kustomize
    • recursive
    • timeout
    • wait

    Drop support for the deprecated --delete-local-data from kubectl drain, users should use --delete-emptydir-data, instead. (#125842@soltysh) [SIG CLI]

Dependencies

Added

Changed

Removed

Nothing has changed.



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



Published by your Kubernetes Release Managers.

Reply all
Reply to author
Forward
0 new messages