Kubernetes v1.30.0-alpha.1 has been built and pushed using Golang version 1.22.
The release notes have been updated in CHANGELOG-1.30.md, with a pointer to them on GitHub:
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.
name architectures registry.k8s.io/conformance:v1.30.0-alpha.1 amd64, arm64, ppc64le, s390x registry.k8s.io/kube-apiserver:v1.30.0-alpha.1 amd64, arm64, ppc64le, s390x registry.k8s.io/kube-controller-manager:v1.30.0-alpha.1 amd64, arm64, ppc64le, s390x registry.k8s.io/kube-proxy:v1.30.0-alpha.1 amd64, arm64, ppc64le, s390x registry.k8s.io/kube-scheduler:v1.30.0-alpha.1 amd64, arm64, ppc64le, s390x registry.k8s.io/kubectl:v1.30.0-alpha.1 amd64, arm64, ppc64le, s390x Changelog since v1.29.0 Changes by Kind DeprecationAdd Timezone column in the output of kubectl get cronjob command (#122231, @ardaguclu) [SIG CLI]
Add WatchListClient feature gate to client-go. When enabled it allows the client to get a stream of individual items instead of chunking from the server. (#122571, @p0lyn0mial) [SIG API Machinery]
Add process_start_time_seconds to /metrics/slis endpoint of all components (#122750, @Richabanker) [SIG Architecture, Instrumentation and Testing]
Adds exec-interactive-mode and exec-provide-cluster-info flags in kubectl config set-credentials command (#122023, @ardaguclu) [SIG CLI]
Allow scheduling framework plugins that implement io.Closer to be gracefully closed. (#122498, @Gekko0114) [SIG Scheduling]
Change --nodeport-addresses behavior to default to "primary node IP(s) only" rather than "all node IPs". (#122724, @nayihz) [SIG Network and Windows]
Etcd: build image for v3.5.11 (#122233, @mzaian) [SIG API Machinery]
Informers now support adding Indexers after the informer starts (#117046, @howardjohn) [SIG API Machinery]
Introduce a feature gate mechanism to client-go. Depending on the actual implementation, users can control features via environmental variables or command line options. (#122555, @p0lyn0mial) [SIG API Machinery]
Kube-scheduler implements scheduling hints for the NodeAffinity plugin. The scheduling hints allow the scheduler to only retry scheduling a Pod that was previously rejected by the NodeAffinity plugin if a new Node or a Node update matches the Pod's node affinity. (#122309, @carlory) [SIG Scheduling]
Kube-scheduler implements scheduling hints for the NodeResourceFit plugin. The scheduling hints allow the scheduler to only retry scheduling a Pod that was previously rejected by the NodeResourceFit plugin if a new Node or a Node update matches the Pod's resource requirements or if an old pod update or delete matches the Pod's resource requirements. (#119177, @carlory) [SIG Scheduling]
Kube-scheduler implements scheduling hints for the NodeUnschedulable plugin. The scheduling hints allow the scheduler to only retry scheduling a Pod that was previously rejected by the NodeSchedulable plugin if a new Node or a Node update sets .spec.unschedulable to false. (#122334, @carlory) [SIG Scheduling]
Kube-scheduler implements scheduling hints for the PodTopologySpread plugin. The scheduling hints allow the scheduler to retry scheduling a Pod that was previously rejected by the PodTopologySpread plugin if create/delete/update a related Pod or a node which matches the toplogyKey. (#122195, @nayihz) [SIG Scheduling]
Kubeadm: add better handling of errors during unmount when calling "kubeadm reset". When failing to unmount directories under "/var/run/kubelet", kubeadm will now throw an error instead of showing a warning and continuing to cleanup said directory. In such situations it is better for you to inspect the problem and resolve it manually, then you can call "kubeadm reset" again to complete the cleanup. (#122530, @neolit123) [SIG Cluster Lifecycle]
Kubectl debug: add sysadmin profile (#119200, @eiffel-fl) [SIG CLI and Testing]
Kubernetes is now built with Go 1.21.6 (#122705, @cpanato) [SIG Architecture, Release and Testing]
Kubernetes is now built with go 1.22rc2 (#122889, @cpanato) [SIG Release and Testing]
Print more information when kubectl describe a VolumeAttributesClass (#122640, @carlory) [SIG CLI]
Promote KubeProxyDrainingTerminatingNodes to Beta (#122914, @alexanderConstantinescu) [SIG Network]
Promote feature gate StableLoadBalancerNodeSet to GA (#122961, @alexanderConstantinescu) [SIG API Machinery, Cloud Provider and Network]
Scheduler skips NodeAffinity Score plugin when NodeAffinity Score plugin has nothing to do with a Pod. You might notice an increase in the metric plugin_execution_duration_seconds for extension_point=score plugin=NodeAffinity, because the plugin will only run when the plugin is relevant (#117024, @sanposhiho) [SIG Scheduling and Testing]
The option ignorable of scheduler extender can skip error both filter and bind. (#122503, @sunbinnnnn) [SIG Scheduling]
Update kubedns and nodelocaldns to release version 1.22.28 (#121908, @mzaian) [SIG Cloud Provider]
Update some interfaces' signature in scheduler:
When PreFilterResult filters out some Nodes, the scheduling framework assumes them as rejected via UnschedulableAndUnresolvable, that is those nodes won't be in the candidates of preemption process. Also, corrected how the scheduling framework handle Unschedulable status from PreFilter. Before this PR, if PreFilter return Unschedulable, it may result in an unexpected abortion in the preemption, which shouldn't happen in the default scheduler, but may happen in schedulers with a custom plugin. (#119779, @sanposhiho) [SIG Scheduling]
kubectl describe: added Suspend to job, and Node-Selectors and Tolerations to pod template output (#122618, @ivanvc) [SIG CLI]
Add imagefs.inodesfree to default EvictionHard settings (#121834, @vaibhav2107) [SIG Node]
Added metric name along with the utilization information when running kubectl get hpa (#122804, @sreeram-venkitesh) [SIG CLI]
Allow deletion of pods that use raw block volumes on node reboot (#122211, @gnufied) [SIG Node and Storage]
Changed the API server so that for admission webhooks that have a URL matching the hostname localhost, or a loopback IP address, the connection supports HTTP/2 where it can be negotiated. (#122558, @linxiulei) [SIG API Machinery and Testing]
Etcd: Update to v3.5.11 (#122393, @mzaian) [SIG API Machinery, Cloud Provider, Cluster Lifecycle, Etcd and Testing]
Fix Windows credential provider cannot find binary. Windows credential provider binary path may have ".exe" suffix so it is better to use LookPath() to support it flexibly. (#120291, @lzhecheng) [SIG Cloud Provider]
Fix an issue where kubectl apply could panic when imported as a library (#122346, @Jefftree) [SIG CLI]
Fix panic of Evented PLEG during kubelet start-up (#122475, @pacoxu) [SIG Node]
Fix resource deletion failure caused by quota calculation error when InPlacePodVerticalScaling is turned on (#122701, @carlory) [SIG API Machinery, Node and Testing]
Fix the following volume plugins may not create user visible files after kubelet was restarted.
Fix: Ignore unnecessary node events and improve daemonset controller performance. (#121669, @xigang) [SIG Apps]
Fix: Mount point may become local without calling NodePublishVolume after node rebooting. (#119923, @cvvz) [SIG Node and Storage]
Fixed a bug where kubectl drain would consider a pod as having been deleted if an error occurs while calling the API. (#122574, @brianpursley) [SIG CLI]
Fixed a regression since 1.24 in the scheduling framework when overriding MultiPoint plugins (e.g. default plugins). The incorrect loop logic might lead to a plugin being loaded multiple times, consequently preventing any Pod from being scheduled, which is unexpected. (#122068, @caohe) [SIG Scheduling]
Fixed migration of in-tree vSphere volumes to the CSI driver. (#122341, @jsafrane) [SIG Storage]
Fixes a race condition in the iptables mode of kube-proxy in 1.27 and later that could result in some updates getting lost (e.g., when a service gets a new endpoint, the rules for the new endpoint might not be added until much later). (#122204, @danwinship) [SIG Network]
Fixes bug in ValidatingAdmissionPolicy which caused policies using CRD params to not successfully sync (#123003, @alexzielenski) [SIG API Machinery 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. (#122030, @carlory) [SIG Apps and Storage]
If a pvc has an empty storageClassName, persistentvolume controller won't try to assign a default StorageClass (#122704, @carlory) [SIG Apps and Storage]
Improves scheduler performance when no scoring plugins are defined. (#122058, @aleksandra-malinowska) [SIG Scheduling]
Improves scheduler performance when no scoring plugins are defined. (#122435, @aleksandra-malinowska) [SIG Scheduling]
Kube-proxy: fixed LoadBalancerSourceRanges not working for nftables mode (#122614, @tnqn) [SIG Network]
Kubeadm: fix a regression in "kubeadm init" that caused a user-specified --kubeconfig file to be ignored. (#122735, @avorima) [SIG Cluster Lifecycle]
Make decoding etcd's response respect the timeout context. (#121815, @HirazawaUi) [SIG API Machinery]
QueueingHint implementation for NodeAffinity is reverted because we found potential scenarios where events that make Pods schedulable could be missed. (#122285, @sanposhiho) [SIG Scheduling]
QueueingHint implementation for NodeUnschedulable is reverted because we found potential scenarios where events that make Pods schedulable could be missed. (#122288, @sanposhiho) [SIG Scheduling]
Remove wrong warning event (FileSystemResizeFailed) during a pod creation if it uses a readonly volume and the capacity of the volume is greater or equal to its request storage. (#122508, @carlory) [SIG Storage]
Reverts the EventedPLEG feature (beta, but disabled by default) back to alpha for a known issue (#122697, @pacoxu) [SIG Node]
The scheduling queue didn't notice any extenders' failures, it could miss some cluster events, and it could end up Pods rejected by Extenders stuck in unschedulable pod pool in 5min in the worst-case scenario. Now, the scheduling queue notices extenders' failures and requeue Pods rejected by Extenders appropriately. (#122022, @sanposhiho) [SIG Scheduling]
Use errors.Is() to handle err returned by LookPath() (#122600, @lzhecheng) [SIG Cloud Provider]
ValidateVolumeAttributesClassUpdate also validates new vac object. (#122449, @carlory) [SIG Storage]
When using a claim with immediate allocation and a pod referencing that claim couldn't get scheduled, the scheduler incorrectly may have tried to deallocate that claim. (#122415, @pohly) [SIG Node and Scheduling]
Contributors, the
CHANGELOG-1.30.md has been bootstrapped with
v1.30.0-alpha.1 release notes and you may edit now as needed.
Published by your
Kubernetes Release
Managers.