Fwd: Kubernetes v1.30.0-alpha.1 is live!

Skip to first unread message

Marko Mudrinić

Jan 31, 2024, 5:14:55 PMJan 31
to d...@kubernetes.io

---------- Forwarded message ---------
From: Marko Mudrinić <mudrin...@gmail.com>
Date: Wednesday, January 31, 2024 at 11:13:54 PM UTC+1
Subject: Kubernetes v1.30.0-alpha.1 is live!
To: kubernetes-announce <kubernete...@googlegroups.com>, dev <d...@kubernetes.io>

Kubernetes Community,

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:

v1.30.0-alpha.1 Downloads for v1.30.0-alpha.1 Source Code filename sha512 hash kubernetes.tar.gz f9e74c1f8400e8c85a65cf85418a95e06a558d230539f4b2f7882b96709eeb3656277a7a1e59ccd699a085d6c94d31bd2dcc83a48669d610ca2064a0c978cbeb kubernetes-src.tar.gz 413f02b4cba6db36625a14095fb155b12685991ae4ece29e9d91016714aadcfbd06ac88f7766a0943445d05145980a54208cc2ed9bc29f3976f0b61a1492ace2 Client Binaries filename sha512 hash kubernetes-client-darwin-amd64.tar.gz d06d723da34e021db3dba1890970f5dc5e27209befb4da9cc5a8255bd124e1ea31c273d71c0ee864166acb2afa0cb08a492896c3e85efeccbbb02685c1a3b271 kubernetes-client-darwin-arm64.tar.gz 7132d1a1ad0f6222eae02251ecd9f6df5dfbf26c6f7f789d1e81d756049eccdd68fc3f6710606bce12b24b887443553198efc801be55e94d83767341f306650e kubernetes-client-linux-386.tar.gz 09500370309fe1d6472535ed048a5f173ef3bd3e12cbc74ba67e48767b07e7b295df78cabffa5eda140e659da602d17b961563a2ef2a20b2d38074d826a47a35 kubernetes-client-linux-amd64.tar.gz 154dafa5fae88a8aeed82c0460fa37679da60327fdab8f966357fbcb905e6e6b5473eacb524c39adddccf245fcf3dea8d5715a497f0230d98df21c4cb3b450eb kubernetes-client-linux-arm.tar.gz d055b29111a90b2c19e9f45bd56e2ba0b779dc35562f21330cda7ed57d945a65343552019f0efe159a87e3a2973c9f0b86f8c16edebdb44b8b8f773354fec7b3 kubernetes-client-linux-arm64.tar.gz c498a0c7b4ce59b198105c88ef1d29a8c345f3e1b31ba083c3f79bfcca35ae32776fd38a3b6b0bad187e14f7d54eeb0e2471634caac631039a989bd6119ab244 kubernetes-client-linux-ppc64le.tar.gz 50e5c8bb07fac4304b067a161c34021d0c090bb5d04aed2eff4d43cab5a8cdcffc72fe97b4231f986a5b55987ebc6f6142a7e779b82ad49a109d772c3eade979 kubernetes-client-linux-s390x.tar.gz 91b10c0f531ba530ca9766e509d1bb717531ff70061735082664da8a2bd7b3282743f53a60d74a5cb1867206f06287aa60fdec1bb41c77b14748330c5ce1199c kubernetes-client-windows-386.tar.gz eaa83eab240ccf54ad54e0f66eba55bd4b15c7c37ea9a015b2b69638d90a1d5e146f989912c7745e0cbb52f846aa0135dd943b2b4b600fcbc3f9c43352f678f3 kubernetes-client-windows-amd64.tar.gz 874ad471bc887f0ae2c73d636475793716021b688baf9ae85bd9229d9ceb5ec4bab3bc9f423e2665b2a6f33697d0f5c0a838f274bb4539ea0031018687f39e85 kubernetes-client-windows-arm64.tar.gz 5f20a1efba7eec42f1ff1811af3b7c2703d7323e5577fd131fe79c8e53da33973a7922e794f4bc64f1fa16696cdc01e4826d0878a2e46158350a9b6de4eb345b Server Binaries filename sha512 hash kubernetes-server-linux-amd64.tar.gz fd631b9f8e500eee418a680bd5ee104508192136701642938167f8b42ee4d2577092bada924e7b56d05db534920faeca416292bf0c1636f816ac35db30d80693 kubernetes-server-linux-arm64.tar.gz cc20574eac935a61e9c23c056d8c325cf095e4217d7d23d278dcf0d2ca32c2651febd3eb3de51536fd48e0fd17cf6ec156bdcf53178c1959efc92e078d9aed44 kubernetes-server-linux-ppc64le.tar.gz e8aa36ba41856b7e73fe4a52e725b1b52c70701822f17af10b3ddd03566cf41ab280b69a99c39b8dca85a0b7d80c3f88f7b0b5d5cd1da551701958f8bd176a11 kubernetes-server-linux-s390x.tar.gz fdf61522374eeccda5c32b6c9dc5927a92f68c78af811976f798dce483856ebc1e52a6a2b08a121ba7a3b60f0f8e2d727814ff7aed7edd1e7282288a1cacb742 Node Binaries filename sha512 hash kubernetes-node-linux-amd64.tar.gz cc8d03394114c292eca5be257b667d5114d7934f58d1c14365ea0a68fdb4e699437f3ea1a28476c65a1247cf5b877e40c0dabd295792d2d0de160f2807f9a7de kubernetes-node-linux-arm64.tar.gz 1602ecf70f2d9e8ec077bdb4d45a18027c702be24d474c3fdaf6ad2e3a56527ee533b53a1b4bbbe501404cc3f2d7d60a88f7f083352a57944e20b4d7109109e6 kubernetes-node-linux-ppc64le.tar.gz 6494efec3efb3b0cc20170948eb2eb2e1a51c4913d26c0682de4ddcb4c20629232bc83020f62c1c618986df598008047258019e31d0ec444308064fafdbc861c kubernetes-node-linux-s390x.tar.gz 265041c73c045f567e6d014b594910524daef10cc0ce27ad760fb0188c34aeee52588dc1fbef1d9f474d11d032946bdbd527e9c04196294991d0fbe71ae5e678 kubernetes-node-windows-amd64.tar.gz faa5b4598326a9bd08715f5d6d0c1ac2f47fb20c0eb5745352f76b779d99a20480a9a79c6549e352d2a092b829e1926990b5fa859392603c1c510bf571b6094f 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.

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 Deprecation
  • Kubectl: remove deprecated flag prune-whitelist for apply, use flag prune-allowlist instead. (#120246, @pacoxu) [SIG CLI and Testing]
API Change
  • Add CEL library for IP Addresses and CIDRs. This will not be available for use until 1.31. (#121912, @JoelSpeed) [SIG API Machinery]
  • Added to MutableFeatureGate the ability to override the default setting of feature gates, to allow default-enabling a feature on a component-by-component basis instead of for all affected components simultaneously. (#122647, @benluddy) [SIG API Machinery and Cluster Lifecycle]
  • Adds a rule on the kube_codegen tool to ignore vendor folder during the code generation. (#122729, @jparrill) [SIG API Machinery and Cluster Lifecycle]
  • Allow users to mutate FSGroupPolicy and PodInfoOnMount in CSIDriver.Spec (#116209, @haoruan) [SIG API Machinery, Storage and Testing]
  • Client-go events: NewEventBroadcasterAdapterWithContext should be used instead of NewEventBroadcasterAdapter if the goal is to support contextual logging. (#122142, @pohly) [SIG API Machinery, Instrumentation and Scheduling]
  • Fixes accidental enablement of the new alpha optionalOldSelf API field in CustomResourceDefinition validation rules, which should only be allowed to be set when the CRDValidationRatcheting feature gate is enabled. (#122329, @jpbetz) [SIG API Machinery]
  • Implement prescore extension point for volumeBinding plugin. Return skip if it doesn't do anything in Score. (#115768, @AxeZhan) [SIG Scheduling, Storage and Testing]
  • Resource.k8s.io/ResourceClaim (alpha API): the strategic merge patch strategy for the status.reservedFor array was changed such that a strategic-merge-patch can add individual entries. This breaks clients using strategic merge patch to update status which rely on the previous behavior (replacing the entire array). (#122276, @pohly) [SIG API Machinery]
  • When scheduling a mixture of pods using ResourceClaims and others which don't, scheduling a pod with ResourceClaims impacts scheduling latency less. (#121876, @pohly) [SIG API Machinery, Node, Scheduling and Testing]
  • Add 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:

    1. PluginsRunner: use NodeInfo in RunPreScorePlugins and RunScorePlugins.
    2. PreScorePlugin: use NodeInfo in PreScore.
    3. Extender: use NodeInfo in Filter and Prioritize. (#121954, @AxeZhan) [SIG Autoscaling, Node, Scheduling, Storage and Testing]
  • 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]

  • A deprecated flag --pod-max-in-unschedulable-pods-duration was initially planned to be removed in v1.26, but we have to change this plan. We found an issue in which Pods can be stuck in the unschedulable pod pool for 5 min, and using this flag is the only workaround for this issue. This issue only could happen if you use custom plugins or if you change plugin set being used in your scheduler via the scheduler config. (#122013, @sanposhiho) [SIG Scheduling]
  • Fix delete pod declare no controllor note. (#120159, @Ithrael) [SIG CLI]
Bug or Regression
  • 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]

Other (Cleanup or Flake)
  • Add warning for PV on relaim policy when it is Recycle (#122339, @carlory) [SIG Storage]
  • Cleanup: remove getStorageAccountName warning messages (#121983, @andyzhangx) [SIG Cloud Provider and Storage]
  • Client-go: Optimized leaders renewing leases by updating leader lock optimistically without getting the record from the apiserver first. Also added a new metric leader_election_slowpath_total that allow users to monitor how many leader elections are updated non-optimistically. (#122069, @linxiulei) [SIG API Machinery, Architecture and Instrumentation]
  • Kube-proxy nftables mode is now compatible with kernel 5.4 (#122296, @tnqn) [SIG Network]
  • Kubeadm: improve the overall logic, error handling and output messages when waiting for the kubelet and API server /healthz endpoints to return 'ok'. The kubelet and API server checks no longer run in parallel, but one after another (in serial). (#121958, @neolit123) [SIG Cluster Lifecycle]
  • Kubeadm: show the supported shell types of 'kubeadm completion' in the error message when an invalid shell was specified (#122477, @SataQiu) [SIG Cluster Lifecycle]
  • Kubeadm: use ttlSecondsAfterFinished to automatically clean up the upgrade-health-check Job that runs during upgrade preflighting. (#122079, @carlory) [SIG Cluster Lifecycle]
  • Lock GA feature-gate ConsistentHTTPGetHandlers to default (#122578, @carlory) [SIG Node]
  • Migrate client-go/metadata to contextual logging (#122225, @ricardoapl) [SIG API Machinery]
  • Migrated the cmd/kube-proxy to use contextual logging. (#122197, @fatsheep9146) [SIG Network]
  • Remove GA featuregate RemoveSelfLink (#122468, @carlory) [SIG API Machinery]
  • Remove GA featuregate about ExperimentalHostUserNamespaceDefaultingGate in 1.30 (#122088, @bzsuni) [SIG Node]
  • Remove GA featuregate about IPTablesOwnershipCleanup in 1.30 (#122137, @bzsuni) [SIG Network]
  • Removed generally available feature gate ExpandedDNSConfig. (#122086, @bzsuni) [SIG Network]
  • Removed generally available feature gate KubeletPodResourcesGetAllocatable. (#122138, @ii2day) [SIG Node]
  • Removed generally available feature gate KubeletPodResources. (#122139, @bzsuni) [SIG Node]
  • Removed generally available feature gate MinimizeIPTablesRestore. (#122136, @ty-dc) [SIG Network]
  • Removed generally available feature gate ProxyTerminatingEndpoints. (#122134, @ty-dc) [SIG Network]
  • Removed the deprecated azureFile in-tree storage plugin (#122576, @carlory) [SIG API Machinery, Cloud Provider, Node and Storage]
  • Setting --cidr-allocator-type to CloudAllocator for kube-controller-manager will be removed in a future release. Please switch to and explore the options available in your external cloud provider (#123011, @dims) [SIG API Machinery and Network]
  • The GA feature-gate APISelfSubjectReview is removed, and the feature is unconditionally enabled. (#122032, @carlory) [SIG Auth and Testing]
  • The feature gate LegacyServiceAccountTokenTracking (GA since 1.28) is now removed, since the feature is unconditionally enabled. (#122409, @Rei1010) [SIG Auth]
  • The in-tree cloud provider for azure has now been removed. Please use the external cloud provider and CSI driver from https://github.com/kubernetes/cloud-provider-azure instead. (#122857, @nilo19) [SIG API Machinery, Cloud Provider, Instrumentation, Node and Testing]
  • The in-tree cloud provider for vSphere has now been removed. Please use the external cloud provider and CSI driver from https://github.com/kubernetes/cloud-provider-vsphere instead. (#122937, @dims) [SIG API Machinery, Cloud Provider, Storage and Testing]
  • Update kube-dns to v1.22.27 (#121736, @ty-dc) [SIG Cloud Provider]
  • Updated cni-plugins to v1.4.0. (#122178, @saschagrunert) [SIG Cloud Provider, Node and Testing]
  • Updated cri-tools to v1.29.0. (#122271, @saschagrunert) [SIG Cloud Provider]
Dependencies Added Changed Removed

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.

Reply all
Reply to author
0 new messages