Skip to content

Latest commit

 

History

History
615 lines (496 loc) · 78.4 KB

CHANGELOG-1.25.md

File metadata and controls

615 lines (496 loc) · 78.4 KB

v1.25.0-alpha.3

Downloads for v1.25.0-alpha.3

Source Code

filename sha512 hash
kubernetes.tar.gz 7f4c79b7ed811df512afca3b8cd9cac2e7119b8ea3f2a03c858d9482e9b788e85fa0f78e60e913e3fc6ba30c5c398730461f5d9753839cf7acc8108089c7c9d7
kubernetes-src.tar.gz b6ccd63be2677633774f98d182a3acd4828135dd43bb8cd532f722373f8271d00295b401a0344c6b263c9c44fcdd1f815263e0ac31e60f0e55b38435a8cde7bc

Client Binaries

filename sha512 hash
kubernetes-client-darwin-amd64.tar.gz c1cc390b4aa00bcb367a746af4ea6dd884662559254367868fd57afd79c45b51dc3cf62861e980b91059a998bf13a8deba247b068ab7df179cc3206af4e731fa
kubernetes-client-darwin-arm64.tar.gz b5fbc71abe517ab45486708081b66938f6643c2d85b3630a13008338ba65f0be56d3304e00d013ed49c67edd39a60cae1b045bd9165c8c1bd562e1bc6df09803
kubernetes-client-linux-386.tar.gz f981b4421493d3588c4f8fcb4dc95821d7218cc10a62fc68264dad2d640e8e2ece4a4647f5cf96bf9337719c9a803c72255b6d5fbbc5533c719e9e59ccb50de6
kubernetes-client-linux-amd64.tar.gz ec2d0dda384702d5c826f08a71d6527d79565a4f81dbd56f5482ffde889e6d5d9a6cd26824212af1e91f2ba84f062b6926cf795edc3dac1174e085a14be4ced5
kubernetes-client-linux-arm.tar.gz 7125fa0b199de63d1ffe56d5749e8a37cf4d61e993a6fa3c6cc47f1e3d120b949eec3c2901df0875a579f3b4fa142925918169a6a1dfa098932c57b91d5cf53b
kubernetes-client-linux-arm64.tar.gz ee24154a7f95cb9c73c1eb53ccd3dc297492afd319b3581682a5050d825cf52c01753ae1fc18cb8bc6c5fa22ba019642edafaccf87b7077320ac8976a0b66655
kubernetes-client-linux-ppc64le.tar.gz b1218f27c5f3183622d7ec909c416df2bdf7a178005dccf4c84f24340140f9221fe6c284e7947ff4d59cc652d3489758f406fc27e60593f3aaa1c5ac692556d9
kubernetes-client-linux-s390x.tar.gz 4aa77ffe79235a5c3dfffd797a567535c2b23a47fd10840bed5db8f3ad623bc1977045fd13e14875f8cddc59b9d146babe5904ed4e2a9e4d2920894dca6e7d15
kubernetes-client-windows-386.tar.gz 5c3c42e37f8d6cb53d8abd8a8af7b8da8dad8151f8182428714acc0809e1a0d478488f9d106f5c6acc1ec0489ee22c63230f65f0677796605c3e0bde352440c9
kubernetes-client-windows-amd64.tar.gz 1c55a3c1a73d519a4958e2ec79a56bbe28b27bada3af605efcd60a3a643244b24d7eaf2932046a811c11aa98a32de460613b012bbb7adfe0d13aa8a9a9113acc
kubernetes-client-windows-arm64.tar.gz 855779f6a7b5d75c60ba21401b2c9a94672dd9a99250bb95103a871e59232e4b409e3330d0ef946899b077f6c43f2bc3eb32c22f3fcc731b6db34247d3278fee

Server Binaries

filename sha512 hash
kubernetes-server-linux-amd64.tar.gz 1a25a5475380658ad56bd49e7db241cec648179df8627a1975d996c0656629a272427f944a587a817b28e2690a5723fcf00127084ef84505d13cb64d7a4ccc61
kubernetes-server-linux-arm.tar.gz ad9e57e6d46d2b0840df0e67c9162524175667c05abc30338c0fec06ecc130ca616346c1c54195c08732950d428c51f5b0898eb4f09f64d94407dfb432daf028
kubernetes-server-linux-arm64.tar.gz ba04737cf996a2ada5db399df37b736f4511670e4d2537effab97f8f5b774b624ecce3fdcffa42d4edb5e084f62ba0fe526dfabc42b137c29570bc6516d6053a
kubernetes-server-linux-ppc64le.tar.gz d5f6ab04e5017132e3f76251b6a91791b5b62b8a897ffddada6e4bb7172ad771c72472e63bdfb296240ef8794d57d5c7382dc13af4d6d49a4e716b6215f693e8
kubernetes-server-linux-s390x.tar.gz 9878847bcff5c4154eb2fc85f6962a0be8c37a126b23a1351eb2bc65bb22ddabce3f32473f35e91463e464a1189f5caaa764c1019e4217bfd86223b878f4ae69

Node Binaries

filename sha512 hash
kubernetes-node-linux-amd64.tar.gz e6f58c79b02d4a6a6d65be9d890cd6cdfeb61a200439f4640f7c3529c38524bf19ba5769514ebeee95a3fc1da2c67049ce563f8cc39635bf025930e74319c944
kubernetes-node-linux-arm.tar.gz ead6acf178ea4e74dfc64a06f1c2deb88bf940af44e50117706a0b11ba86cf9fce66346bc5a22f857c10994d3e7145eb89d74f5e8c35133a03cc6f18630c9439
kubernetes-node-linux-arm64.tar.gz a253334f379c9df9cb81bc9ce68c1034b091c765e29c80e34d7c0eb7cd8bf743f66e004f45853ecc9de9a5aa5c757736bc6baa09fcd571297edd32a44e719baf
kubernetes-node-linux-ppc64le.tar.gz 44d54ce977e3e97abf5020de3957903a1c06caa4f034ce9c6af3b975bb6ea2559f33bce870e684712815f27f70c5cad793c965ae645689a9ca0bad6360a93f9b
kubernetes-node-linux-s390x.tar.gz 02739821cc67e7146e89646f357475a362ca75a42e266c8c430582743126ee78db22dbfde9a3a51e92a28ca1d35dcdb79dd5a89383a68918b489a8feaf3d01e8
kubernetes-node-windows-amd64.tar.gz 0a2c21b73203531d4772d178a6b1a642147a02171d0563fadc8041e2f8972f6fa2d475e44105b8f17d58f04fffd7eecb3e1f2d0cc5dd8c9ebe581e1b539c0912

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
k8s.gcr.io/conformance:v1.25.0-alpha.3 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-apiserver:v1.25.0-alpha.3 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-controller-manager:v1.25.0-alpha.3 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-proxy:v1.25.0-alpha.3 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-scheduler:v1.25.0-alpha.3 amd64, arm, arm64, ppc64le, s390x

Changelog since v1.25.0-alpha.2

Urgent Upgrade Notes

(No, really, you MUST read this before you upgrade)

  • End-to-end testing has been migrated from Ginkgo v1 to v2.

When running test/e2e via the Ginkgo CLI, the v2 CLI must be used and -timeout=24h (or some other, suitable value) must be passed because the default timeout was reduced from 24h to 1h. When running it via go test, the corresponding -args parameter is -ginkgo.timeout=24h. To build the CLI in the Kubernetes repo, use make all WHAT=github.com/onsi/ginkgo/v2/ginkgo. Ginkgo V2 doesn't accept go test's -parallel flags to parallelize Ginkgo specs, please switch to use ginkgo -p or ginkgo -procs=N instead. (#109111, @chendave) [SIG API Machinery, Apps, Architecture, Auth, Autoscaling, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Network, Node, Release, Scheduling, Storage, Testing and Windows]

Changes by Kind

Deprecation

  • Ginkgo.Measure has been deprecated in Ginkgo V2, switch to use gomega/gmeasure instead (#111065, @chendave) [SIG Autoscaling and Testing]

API Change

  • Added a new feature gate CheckpointRestore to enable support to checkpoint containers. If enabled it is possible to checkpoint a container using the newly kubelet API (/checkpoint/{podNamespace}/{podName}/{containerName}). (#104907, @adrianreber) [SIG Node and Testing]

  • EndPort field in Network Policy is now promoted to GA

    Network Policy providers that support endPort field now can use it to specify a range of ports to apply a Network Policy.

    Previously, each Network Policy could only target a single port.

    Please be aware that endPort field MUST BE SUPPORTED by the Network Policy provider. In case your provider does not support endPort and this field is specified in a Network Policy, the Network Policy will be created covering only the port field (single port). (#110868, @rikatz) [SIG API Machinery, Network and Testing]

  • Make PodSpec.Ports' description clearer on how this information is only informational and how it can be incorrect. (#110564, @j4m3s-s) [SIG API Machinery, Network and Node]

  • On compatible systems, a mounter's Unmount implementation is changed to not return an error when the specified target can be detected as not a mount point. On Linux, the behavior of detecting a mount point depends on umount command is validated when the mounter is created. Additionally, mount point checks will be skipped in CleanupMountPoint/CleanupMountWithForce if the mounter's Unmount having the changed behavior of not returning error when target is not a mount point. (#109676, @cartermckinnon) [SIG Storage]

  • Promote StatefulSet minReadySeconds to GA. This means --feature-gates=StatefulSetMinReadySeconds=true are not needed on kube-apiserver and kube-controller-manager binaries and they'll be removed soon following policy at https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecation (#110896, @ravisantoshgudimetla) [SIG API Machinery, Apps and Testing]

  • The Pod spec.podOS field is promoted to GA. The IdentifyPodOS feature gate unconditionally enabled, and will no longer be accepted as a --feature-gates parameter in 1.27. (#111229, @ravisantoshgudimetla) [SIG API Machinery, Apps and Windows]

  • The minDomains field in Pod Topology Spread is graduated to beta (#110388, @sanposhiho) [SIG API Machinery and Apps]

Feature

  • Enable the beta feature ServiceIPStaticSubrange by default (#110703, @aojea) [SIG Network]

  • Enabling CSIMigrationvSphere feature by default. (#103523, @divyenpatel) [SIG Cloud Provider and Storage]

  • Graduated SeccompDefault to beta. The Kubelet feature gate is now enabled by default and the configuration/CLI flag still defaults to false. (#110805, @saschagrunert) [SIG Node and Testing]

  • Graduated ServerSideFieldValidation to beta. Schema validation is performed server-side and requests will receive warnings for any invalid/unknown fields by default. (#110178, @kevindelgado) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Storage and Testing]

  • In "large" clusters, kube-proxy in iptables mode will now sometimes leave unused rules in iptables for a while (up to --iptables-sync-period) before deleting them. This improves performance by not requiring it to check for stale rules on every sync. (In smaller clusters, it will still remove unused rules immediately once they are no longer used.)

    (The threshold for "large" used here is currently "1000 endpoints" but this is subject to change.) (#110334, @danwinship) [SIG Network]

  • Introduce new KUBECACHEDIR environment variable to override default discovery cache directory which is $HOME/.kube/cache (#109479, @ardaguclu) [SIG CLI]

  • JobTrackingWithFinalizers enabled by default. This feature allows to keep track of the Job progress without relying on Pods staying in the apiserver. (#110948, @alculquicondor) [SIG Apps]

  • Kubeadm: make sure the etcd static pod startup probe uses /health?serializable=false while the liveness probe uses /health?serializable=true&exclude=NOSPACE. The NOSPACE exclusion would allow administrators to address space issues one member at a time. (#110744, @neolit123) [SIG Cluster Lifecycle]

  • Pod SecurityContext and PodSecurityPolicy supports slash as sysctl separator. (#106834, @mengjiao-liu) [SIG Apps, Architecture, Auth, Node, Security and Testing]

Documentation

  • Optimization of kubectl Chinese translation (#110538, @hwdef) [SIG CLI]

Bug or Regression

  • Adds error message "dry-run can not be used when --force is set" when dry-run and force flags are set in replace command. (#110326, @ardaguclu) [SIG CLI]
  • Bug fix in test/e2e/framework Framework.RecordFlakeIfError (#111048, @alingse) [SIG Testing]
  • Do not report terminated container metrics (#110950, @yangjunmyfm192085) [SIG Node]
  • Fix bug where a job sync is not retried when there is a transient ResourceQuota conflict (#111026, @alculquicondor) [SIG Apps]
  • Fixes scheduling of cronjobs with @every X schedules. (#109250, @d-honeybadger) [SIG Apps]
  • For scheduler plugin developers: the scheduler framework's shared PodInformer is now initialized with empty indexers. This enables scheduler plugins to add their extra indexers. Note that only non-conflict indexers are allowed to be added. (#110663, @fromanirh) [SIG Scheduling]
  • If the parent directory of the file specified in the --audit-log-path argument does not exist, Kubernetes now creates it. (#110813, @vpnachev) [SIG Auth]
  • Kubeadm: fix the bug that configurable KubernetesVersion not respected during kubeadm join (#110791, @SataQiu) [SIG Cluster Lifecycle]
  • Kubeadm: respect user specified image repository when using Kubernetes ci version (#111017, @SataQiu) [SIG Cluster Lifecycle]
  • Kubeadm: support retry mechanism for removing container in reset phase (#110837, @SataQiu) [SIG Cluster Lifecycle]
  • Run kubelet, when there is an error exit, print the error log (#110691, @yangjunmyfm192085) [SIG Node]
  • The node annotation alpha.kubernetes.io/provided-node-ip is no longer set ONLY when --cloud-provider=external. Now, it is set on kubelet startup if the --cloud-provider flag is set at all, including the deprecated in-tree providers. (#109794, @mdbooth) [SIG Network and Node]
  • When metrics are counted, discard the wrong container StartTime metrics (#110880, @yangjunmyfm192085) [SIG Instrumentation and Node]
  • [aws] Fixed a bug which reduces the number of unnecessary calls to STS in the event of assume role failures in the legacy cloud provider (#110706, @prateekgogia) [SIG Cloud Provider]

Other (Cleanup or Flake)

  • In the event that more than one IngressClass is designated "default", the DefaultIngressClass admission controller will choose one rather than fail. (#110974, @kidddddddddddddddddddddd) [SIG Network]
  • Kube-proxy: The "userspace" proxy-mode is deprecated on Linux and Windows, despite being the default on Windows. As of v1.26, the default mode for Windows will change to 'kernelspace'. (#110762, @pandaamanda) [SIG Network]
  • Some apiserver metrics were changed, as follows.
    • priority_level_seat_count_samples is replaced with priority_level_seat_utilization, which samples every nanosecond rather than every millisecond; the old metric conveyed utilization despite its name.
    • priority_level_seat_count_watermarks is removed.
    • priority_level_request_count_samples is replaced with priority_level_request_utilization, which samples every nanosecond rather than every millisecond; the old metric conveyed utilization despite its name.
    • priority_level_request_count_watermarks is removed.
    • read_vs_write_request_count_samples is replaced with read_vs_write_current_requests, which samples every nanosecond rather than every second; the new metric, like the old one, measures utilization when the max-in-flight filter is used and number of requests when the API Priority and Fairness filter is used.
    • read_vs_write_request_count_watermarks is removed. (#110104, @MikeSpreitzer) [SIG API Machinery, Instrumentation and Testing]

Dependencies

Added

  • github.com/go-task/slim-sprig: 348f09d
  • github.com/google/pprof: 94a9f03
  • github.com/ianlancetaylor/demangle: 28f6c0f
  • github.com/onsi/ginkgo/v2: v2.1.4

Changed

  • github.com/antlr/antlr4/runtime/Go/antlr: ad29539 → f25a4f6
  • github.com/google/cel-go: v0.11.2 → v0.12.3
  • github.com/onsi/gomega: v1.10.1 → v1.19.0
  • golang.org/x/net: cd36cc0 → 27dd868
  • golang.org/x/sys: 3681064 → a9b59b0
  • golang.org/x/tools: 897bd77 → v0.1.10
  • google.golang.org/genproto: 1973136 → c8bf987
  • google.golang.org/protobuf: v1.27.1 → v1.28.0
  • k8s.io/klog/v2: v2.70.0 → v2.70.1
  • k8s.io/kube-openapi: 31174f5 → 011e075
  • sigs.k8s.io/json: 9f7c6b3 → f223a00

Removed

  • github.com/nxadm/tail: v1.4.4
  • github.com/onsi/ginkgo: v1.14.0
  • gopkg.in/tomb.v1: dd63297

v1.25.0-alpha.2

Downloads for v1.25.0-alpha.2

Source Code

filename sha512 hash
kubernetes.tar.gz 72eb69d6fa1af801e98f207711ff30a2f77c95e71174386976d43e4704f8ff4a88e6e04c1a15d4b9806fc9ada321e39c74bed751049bb45a31f6fdbd85acde42
kubernetes-src.tar.gz 94dfca305c9bae36ff6984b06f335720db5dc6df41852012c8284424fbf021814461de0b376c3eed850f65e353b544ca66b0fc2d86c3b46dd6701c5380600e5b

Client Binaries

filename sha512 hash
kubernetes-client-darwin-amd64.tar.gz d71f74e1d9d3fbc59e25df8c43b6af360bcdf3ac3597411092e22359ecf6fc7f1091f01996865603ca0d65bfe1764bbc2cfa1aa94b5f9fad4b457986a880d42d
kubernetes-client-darwin-arm64.tar.gz 824a641a183a6a88a71a5d1cffe1c4db40a59e455dae0586bb379d71095fb9011c0a6c4a1338189c3c7615cec8b71c355d3ef18ff15bb72c82ba08027403b0be
kubernetes-client-linux-386.tar.gz b6bfb3d57f5842bb30cdf6b00442a43cb555dff741575a7b0ee43ffa8661b23db8e540a8cf2fd47c9ccf9454e0be593a4a06bc0a308d1861cc58cf3604739626
kubernetes-client-linux-amd64.tar.gz a71cd1bdf181a0a8fe0484aee393761b4fc50dbf6b71a589e2f3322fe9452302675a2d8deb3b087e9cc7e7495e5c7c3b7f2f70e065c65c83cf23561b8d32d97f
kubernetes-client-linux-arm.tar.gz 6cec180b1b623277b7ff9a680714f005ec4a606ab3297ac8159ed463cf268aa5668a4a8c5cddd63512869c46258193b9d0bedd7bae8a1e355c6ea84affbd9a7d
kubernetes-client-linux-arm64.tar.gz 9a6d51a396a96f5beb49327fae9aaec5e391fbbb44db4698f9b25fce1882b3d921b8b65e10b10f4b840f14e5e6c210f4a318c52c627e327adc9742dc5d909d6c
kubernetes-client-linux-ppc64le.tar.gz 533b2aedea645803cb282f84fbd8c38ee3146edaf33ff86dad85e9b9602a33f4ec19eceaf60cc3d4c02ef811a4a35c1c8cedad4d702c8c57f1a8c64b3d1c2674
kubernetes-client-linux-s390x.tar.gz fa83bc04fb0802638929fd4174342ec8ac567b996d5b44f6e2ce309d7084bc496de448b8f62479e4b1630890e7851afd3cecdce9926ce1c7e931fef5c1dfc063
kubernetes-client-windows-386.tar.gz 70c7cbcc0337eeb0e31eabf9b2309a82240e17858637c01e24af24830b971ac58aa3b8d6e2628b9eee29a075131c4037b3a18e33cf214ae8ca10b0341e782b2d
kubernetes-client-windows-amd64.tar.gz e04d4e605536a1a2aef33e699e22c49649e3bcf1330aae57c511914cbdf6ca5c1c7056a4a2aa7109900b58ef836ccf91572adbeddd274a75d8136cf8300a4e5a
kubernetes-client-windows-arm64.tar.gz cbc2075880daae0aed15d665e3bab50311a23616ab6b562bf5873754a83623ae01c8886c588fa36982eca4bc1d6d25f5e9bcaa9384b67dfbe376ed24bf1ba887

Server Binaries

filename sha512 hash
kubernetes-server-linux-amd64.tar.gz 0feb8e90c5defdb639154f4e5e87e4ec1ad2e3fdd2eb9f667df5e6ea4112fe0ab64d4c194ccb6bba812bdce0b41aed2f04e72b3fd34b08fbca9e92feec26015f
kubernetes-server-linux-arm.tar.gz e1104e286e710367e3254cd546f31f639c8ce2e1539e6d08a1b41e3af051535bca990922af29e2a9d63f6328bb19630ed7eb945176ff0e9d8c6dea4c1a540f13
kubernetes-server-linux-arm64.tar.gz d08a78a9791b6797cabd415c7b9a996e1dba5e0eef9e7eab9b09110018091fdec6e5ee7cb692960f5ef0805d3e4181f49507f09ba1ef3dfeb18adb58e09e1820
kubernetes-server-linux-ppc64le.tar.gz 23116faf8df942c1d7da7ebf02dcc78740a7ede7d9ec72473e0390ab7203cfc3fd4cd5bc65ff818825b924782c7cd9df742e1fad177f862e32b15a1a4d7d0e0c
kubernetes-server-linux-s390x.tar.gz 4853481452158658c3eecc3107f9c95df408b6ec99d655c6167f66374939d4dc030883376d1777b4420024473ffb7365d3a9c6f652032fb908377aa9648d61d5

Node Binaries

filename sha512 hash
kubernetes-node-linux-amd64.tar.gz 710ac7c343259319329a63accb4295f81d7ae63a104412c0d909449492c6091038d2ffc677169100da678759db02a9d79c57b340753e8e30fb3e2b5675d21ebb
kubernetes-node-linux-arm.tar.gz 372ca94ece9ac5ff862abb7fdb6732f23d7f665e1208e38e7aac642bcbeeb95801230872f48012502d1bbe9d7b0e0a22ff7b019a54c0a7e34b0deb153ca3f9ce
kubernetes-node-linux-arm64.tar.gz de75500809eb3ad7ee2772d0315e3e7aa697c8a1888c6eb57479770f8c92e9778088e0c970127462cc8e7bdd22016c38344cff0854100707e942128c47fa30cf
kubernetes-node-linux-ppc64le.tar.gz 1b4f54ec0037859a8410bbfecabbbc8de656576d121af35450182e7ec9708bc57cbaaa4fd36d79ddf368ebf74935e6f368365d1a9d0d93ec60982977c9900dca
kubernetes-node-linux-s390x.tar.gz efbfae7e592c9edb6830dbfafb0e1c4feadaee1d2c7211946789b4aac0f3fd56c3b1abb4f7c30617e8d0e51cef1f1df2b3cc582ecc543351c0918efc8e3fe6e9
kubernetes-node-windows-amd64.tar.gz 290649bd96432aa9e2042fae7a8412ef7e0b6c16dae9551b9320ced7c5a1c805cf112df1a5ede327e5474cd32ff04f9841eb2e84dec992c24882d5d71c178064

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
k8s.gcr.io/conformance:v1.25.0-alpha.2 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-apiserver:v1.25.0-alpha.2 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-controller-manager:v1.25.0-alpha.2 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-proxy:v1.25.0-alpha.2 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-scheduler:v1.25.0-alpha.2 amd64, arm, arm64, ppc64le, s390x

Changelog since v1.25.0-alpha.1

Changes by Kind

API Change

  • The Go API for logging configuration in k8s.io/component-base was moved to k8s.io/component-base/logs/api/v1. The configuration file format and command line flags are the same as before. (#105797, @pohly) [SIG API Machinery, Architecture, Cluster Lifecycle, Instrumentation, Node, Scheduling and Testing]
  • The PodSecurity admission plugin has graduated to GA and is enabled by default. The admission configuration version has been promoted to pod-security.admission.config.k8s.io/v1. (#110459, @wangyysde) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Node, Storage and Testing]

Feature

  • Adds KMS v2alpha1 API (#110201, @aramase) [SIG API Machinery and Auth]
  • Feature gate CSIMigration is locked to enabled. CSIMigration is GA now. The feature gate will be removed in 1.27 (#110410, @Jiawei0227) [SIG Apps, Auth, Scheduling, Storage and Testing]
  • Kubeadm: the preferred pod anti-affinity for CoreDNS is now enabled by default (#110593, @SataQiu) [SIG Cluster Lifecycle]
  • These changes promote the CSIMigrationPortworx feature gate to Beta (#110411, @trierra) [SIG Storage]
  • Updating base image for Windows pause container images to one built on Windows machines to address limitations of building Windows container images on Linux machines. (#110379, @marosset) [SIG Windows]

Documentation

  • EndpointSlices with Pod referencing Nodes that doesn't exist couldn't be created or updated. The behavior on the EndpointSlice controller has been modified to update the EndpointSlice without the Pods that reference non-existing Nodes, and keep retrying until all Pods reference existing Nodes. However, if service.Spec.PublishNotReadyAddresses is set, all the Pods are published without retrying. Fixed EndpointSlices metrics to reflect correctly the number of desired EndpointSlices when no endpoints are present. (#110639, @aojea) [SIG Apps and Network]

Bug or Regression

  • Client-go: fixed an error in the fake client when submitting create API requests to subresources like pods/eviction (#110425, @LY-today) [SIG API Machinery]
  • FibreChannel volume plugin may match the wrong device and wrong associated devicemapper parent.This may cause a disater that pods attach wrong disks. (#110719, @xakdwch) [SIG Storage]
  • Fix "dbus: connection closed by user" error after dbus daemon restart. (#110496, @kolyshkin) [SIG Node]
  • Fix a bug that caused the wrong result length when using --chunk-size and --selector together (#110652, @Abirdcfly) [SIG API Machinery and Testing]
  • Fixes scheduling of cronjobs with @every X schedules. (#109250, @d-honeybadger) [SIG Apps]
  • Fixing issue on Windows nodes where HostProcess containers may not be created as expected. (#110140, @marosset) [SIG Node and Windows]
  • Kubeadm: handle dup unix:// prefix in node annotation (#110656, @pacoxu) [SIG Cluster Lifecycle]
  • Kubelet: add retry of checking Unix domain sockets on Windows nodes for the plugin registration mechanism (#110075, @luckerby) [SIG Node and Windows]
  • Removed unused flags from kubectl run command (#110668, @brianpursley) [SIG CLI]
  • This change picks up the latest GCE pinhole firewall feature, which introduces destination-ranges in the ingress firewall-rules. It restricts the access to the backend IPs via allowing traffic via allowing traffic through ILB or NetLB IP only. This change does NOT change the existing ILB or NetLB behavior. (#109510, @sugangli) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Node and Storage]
  • Volumes are no longer detached from healthy nodes after 6 minutes timeout. 6 minute force-detach timeout is used only for unhealthy nodes (node.status.conditions["Ready"] != true). (#110721, @jsafrane) [SIG Apps]
  • kubeadm certs renew and kubeadm certs check-expiration now honor the cert-dir on a working kubernetes cluster. (#110709, @chendave) [SIG Cluster Lifecycle]

Other (Cleanup or Flake)

Dependencies

Added

  • github.com/golang/snappy: v0.0.3
  • google.golang.org/grpc/cmd/protoc-gen-go-grpc: v1.1.0

Changed

  • cloud.google.com/go: v0.81.0 → v0.97.0
  • github.com/GoogleCloudPlatform/k8s-cloud-provider: ea6160c → f118173
  • github.com/google/martian/v3: v3.1.0 → v3.2.1
  • github.com/googleapis/gax-go/v2: v2.0.5 → v2.1.1
  • github.com/opencontainers/runc: v1.1.1 → v1.1.3
  • github.com/seccomp/libseccomp-golang: 3879420 → f33da4d
  • google.golang.org/api: v0.46.0 → v0.60.0
  • k8s.io/klog/v2: v2.60.1 → v2.70.0
  • sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.0.30 → v0.0.32

Removed

  • github.com/google/pprof: cbba55b
  • github.com/ianlancetaylor/demangle: 28f6c0f
  • github.com/jstemmer/go-junit-report: v0.9.1

v1.25.0-alpha.1

Downloads for v1.25.0-alpha.1

Source Code

filename sha512 hash
kubernetes.tar.gz 01aa5755e4d58e2f5e449af62342155e784973f504f831b52aed13fa941075ea06e8fbcadca2445ac570318e7dd9f1042e0447bb74d6042e447dc87dd472b3fc
kubernetes-src.tar.gz e62170247fb7c50f52274a6e86fde244766cf1cf86bab2913905e9063d03ce5a3882042c755291c766f66b4f4ab630e126d1a9446e31392f77c90a398af57570

Client Binaries

filename sha512 hash
kubernetes-client-darwin-amd64.tar.gz bb9408704de0f2adac81031d347cfa229a6aef413102a116193f50bf690eac8443bb97cfe59044a1857f7859b462f98fef5c9b7db52f9895d70d399e0d381f19
kubernetes-client-darwin-arm64.tar.gz 0d8aafe99969241019685348bd40c9a5e252110121a9c19c6008874c54c4e6c62eb9470cc55e2eab300bebbaa78696539989a8a23d1e958a222aeabadad9e740
kubernetes-client-linux-386.tar.gz 67db15a269e252c8945b40e049137a8e7575128f9890ffb121f8dd72b1a79f55aa92aa9e66d5299ef05dcd30bdf1856878f0373ba8c33c46a161cad696dd1c0a
kubernetes-client-linux-amd64.tar.gz 58079330c0ebb41806782a7675bf37e8e6466d37ec50d75466b6a2633918d36326863c55a258f0cec8134f3a3abaaf66ab51be70cdb981499ed6f411d58d04fd
kubernetes-client-linux-arm.tar.gz afc3b8b30ee5a4baef2b8bf69603884dc488ecd16ab790cdb94859abcbfee0103aff858f7e5778856a7265c54d1eef9df392b0f10ecd26c929a2fe89dcb292e5
kubernetes-client-linux-arm64.tar.gz ef1417a70c0a3a428d966e7711f244a2553d85a330898c461a826082533358e0f4a220fd3ccf9295554a6e284fd89d2ebfc37b30cc69d323bf16ce4b9f5e02a4
kubernetes-client-linux-ppc64le.tar.gz 5aec975459b3141f7dbb38c86c86fb89ee75470b77095280d2c4e6f5e9f8a4c3b5ef323cd6e4a4403c90d725276621c2d85e749090ce93648f238f289de83ceb
kubernetes-client-linux-s390x.tar.gz 91dbe24885b0fad1bef4c0d60ac4c36ba78669e912ec51f7cfb9d4cc33e6f1ece4ee832a96eedb4d117d7defeaffa539e50b42433caf5145543463deb26146fb
kubernetes-client-windows-386.tar.gz b9afed1db794c6df8a325c2831643965a7f4c0633b1a8e73432a08bc21a63f57d98a67115c5d8ede46e8b3ea002c1c2ef7d16d62e53530eb9cff92471f06e840
kubernetes-client-windows-amd64.tar.gz 95f80902ecae4fac9aa2ef863c63bef752b2554a2e0b07cebd49db37d0ce06b5aafcad779793852634f92e1f0d6a3da4dec48387a361a4ede3f9bd77ee2b70ff
kubernetes-client-windows-arm64.tar.gz dee0a8658117f90c138e4bcc5dcba7bc201dcac3a993806eaeacc4ed1ba4a4b2aed0eed395169f372010bcde1966b5ba60734729247f7dc7610421ebf70746ba

Server Binaries

filename sha512 hash
kubernetes-server-linux-amd64.tar.gz 144c23ff1718b3635cb227c5bda29e7f57a63dc80b9aa5120046deb8cff44946a7ca1844303f6fcaebe3d9b9c91f41f57ec96cb407862322fb783068819ab917
kubernetes-server-linux-arm.tar.gz b989cacd95bce88d70a2f17200f5d50e06c66e184bb1ab72ee94e65174a1cb8acbbbfb29dc22e85a0893cae31b903ef93ecc62aa7425d8fcbb35c365b588e72c
kubernetes-server-linux-arm64.tar.gz 0a2ce7c6f016e52149cbe5df5f35db47fcd0c4de5dd04e8054305e3f6ad4554719d658af7cf6ddb40e8e3420bfbc32bbfc87d9f209a9e59813a17f51c4b0581d
kubernetes-server-linux-ppc64le.tar.gz 63bb9ec0e88a6560cb9a415ee8d5656e5bfd9f63a8388f7abd960b72b6d58e0ba664f7aef7aaa6d436aafcc595a19766b85b1af9d076cf3985786888bdd8a258
kubernetes-server-linux-s390x.tar.gz 8f99b8c0133771d0326b7c11ba65009c245f40fe71b1d7737343860e022d4be3c032df8dedf728184d017014c17df93df971622ced800788045fd234b50f36b4

Node Binaries

filename sha512 hash
kubernetes-node-linux-amd64.tar.gz 02f764c2f83992f0820d0186898da449616c4f6ce8a771990ac1f17e277ae369bfeadd24aa0ce2405c6386ff308556437e4f968401b2ef4fb6f344a0a6e60ebd
kubernetes-node-linux-arm.tar.gz 6d87f6554d8051be21c268c9d847c1b66cf7785a9cb781b44494f013b9f1afb1018ad2ce54cedb62b33e93517cd630f3168ab63a6b03e7badde70e300bab9a9a
kubernetes-node-linux-arm64.tar.gz 9d8d34cb09a73db6c3dabd04975fddbf7387db0f0a241c285fb7995c7256fc5ca37285b680f0f978438e5ca92451f163e1e4c90642c82101d415aa40b06afa2f
kubernetes-node-linux-ppc64le.tar.gz 6c5d27306f65ab4eab19f0b39cadd5adb33a3dc3ef602cf4c1e7afd51ac250dea8fef58f748bdbd651d0d77806442b214d098b8a40910627b8a359e482a2706a
kubernetes-node-linux-s390x.tar.gz c8d45846d19e8179969f339bfb4cd13c6d952990b30d301bbb345ac17c4ddaab38c22f798986af6ded6aad96e8415c92c86f2f8fb7fe1bda8b0aba6216758112
kubernetes-node-windows-amd64.tar.gz dd1607634a718d790662420cbaa30af6d7c89b6f9ae64cef5ee224e42c32fe318bf6e1b2180894723fc890c315c4943004dd16c59f94e6daaa09e4435aed1e07

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
k8s.gcr.io/conformance:v1.25.0-alpha.1 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-apiserver:v1.25.0-alpha.1 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-controller-manager:v1.25.0-alpha.1 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-proxy:v1.25.0-alpha.1 amd64, arm, arm64, ppc64le, s390x
k8s.gcr.io/kube-scheduler:v1.25.0-alpha.1 amd64, arm, arm64, ppc64le, s390x

Changelog since v1.24.0

Urgent Upgrade Notes

(No, really, you MUST read this before you upgrade)

  • Deprecated beta APIs scheduled for removal in 1.25 are no longer served. See https://kubernetes.io/docs/reference/using-api/deprecation-guide/#v1-25 for more information. (#108797, @deads2k) [SIG API Machinery, Instrumentation and Testing]
  • No action required; No API/CLI changed; Add new Windows Image Support (#110333, @liurupeng) [SIG Cloud Provider and Windows]
  • There is a new OCI image registry (registry.k8s.io) that can be used to pull kubernetes images. The old registry (k8s.gcr.io) will continue to be supported for the foreseeable future, but the new name should perform better because it frontends equivalent mirrors in other clouds. Please point your clusters to the new registry going forward.

Admission/Policy integrations that have an allowlist of registries need to include "registry.k8s.io" alongside "k8s.gcr.io". Air-gapped environments and image garbage-collection configurations will need to update to pre-pull and preserve required images under "registry.k8s.io" as well as "k8s.gcr.io". (#109938, @dims) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, K8s Infra, Node, Release, Scalability, Storage and Testing]

Changes by Kind

Deprecation

  • Kube-controller-manager: 'deleting-pods-qps' 'deleting-pods-burst' 'register-retry-count' flags are removed. (#109612, @pandaamanda) [SIG API Machinery]
  • Kubeadm: during "upgrade apply/diff/node", in case the "ClusterConfiguration.imageRepository" stored in the "kubeadm-config" ConfigMap contains the legacy "k8s.gcr.io" repository, modify it to the new default "registry.k8s.io". Reflect the change in the in-cluster ConfigMap only during "upgrade apply". (#110343, @neolit123) [SIG Cluster Lifecycle]
  • Kubeadm: graduate the kubeadm specific feature gate UnversionedKubeletConfigMap to GA and lock it to "true" by default. The kubelet related ConfigMap and RBAC rules are now locked to have a simplified naming "*kubelet-config" instead of the legacy naming "*kubelet-config-x.yy", where "x.yy" was the version of the control plane. If you have previously used the old naming format with UnversionedKubeletConfigMap=false, you must manually copy the config map from kube-system/kubelet-config-x.yy to kube-system/kubelet-config before upgrading to 1.25. (#110327, @neolit123) [SIG Cluster Lifecycle and Testing]
  • Kubeadm: stop applying the "node-role.kubernetes.io/master:NoSchedule" taint to control plane nodes for new clusters. Remove the taint from existing control plane nodes during "kubeadm upgrade apply" (#110095, @neolit123) [SIG Cluster Lifecycle and Testing]
  • The gcp and azure auth plugins have been removed from client-go and kubectl. See https://github.com/Azure/kubelogin and https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke for details about the cloud-specific replacements. (#110013, @enj) [SIG API Machinery and Auth]
  • The beta PodSecurityPolicy admission plugin, deprecated since 1.21, is removed. Follow the instructions at https://kubernetes.io/docs/tasks/configure-pod-container/migrate-from-psp/ to migrate to the built-in PodSecurity admission plugin (or to another third-party policy webhook) prior to upgrading to v1.25. (#109798, @liggitt) [SIG API Machinery, Apps, Auth, Cloud Provider, Instrumentation, Node, Security, Storage and Testing]

API Change

  • Introduce NodeInclusionPolicies to specify nodeAffinity/nodeTaint strategy when calculating pod topology spread skew. (#108492, @kerthcet) [SIG API Machinery, Apps, Scheduling and Testing]
  • The metadata.clusterName field is completely removed. This should not have any user-visible impact. (#109602, @lavalamp) [SIG API Machinery, Apps, Auth and Testing]
  • This release add support for NodeExpandSecret for CSI driver client which enables the CSI drivers to make use of this secret while performing node expansion operation based on the user request. Previously there was no secret provided as part of the nodeexpansion call, thus CSI drivers were not make use of the same while expanding the volume at node side. (#105963, @zhucan) [SIG API Machinery, Apps and Storage]

Feature

  • Added sum feature to kubectl top pod (#105100, @lauchokyip) [SIG CLI]
  • Adds the Apply and ApplyStatus methods to the dynamic ResourceInterface (#109443, @kevindelgado) [SIG API Machinery and Testing]
  • Graduate ServiceIPStaticSubrange feature to beta (disabled by default) (#110419, @aojea) [SIG Network]
  • Kube-up now includes CoreDNS version v1.9.3 (#110488, @mzaian) [SIG Cloud Provider]
  • Kubeadm: Added support for additional authentication strategies in kubeadm join with discovery/kubeconfig file: client-go authentication plugins (exec), tokenFile, and authProvider (#110553, @tallaxes) [SIG Cluster Lifecycle]
  • Kubeadm: add support for the flag "--print-manifest" to the addon phases "kube-proxy" and "coredns" of "kubeadm init phase addon". If this flag is used kubeadm will not apply a given addon and instead print to the terminal the API objects that will be applied. (#109995, @wangyysde) [SIG Cluster Lifecycle]
  • Kubeadm: enhance the "patches" functionality to be able to patch kubelet config files containing v1beta1.KubeletConfiguration. The new patch target is called "kubeletconfiguration" (e.g. patch file "kubeletconfiguration+json.json"). This makes it possible to apply node specific KubeletConfiguration options during "init", "join" and "upgrade", while the main KubeletConfiguration that is passed to "init" as part of the "--config" file can still act as the global / stored in the cluster KubeletConfiguration. (#110405, @neolit123) [SIG Cluster Lifecycle and Testing]
  • Kubeadm: modify the etcd static Pod liveness and readyness probes to use a new etcd 3.5.3+ HTTP(s) health check endpoint "/health?serializable=true" that allows to track the health of individual etcd members and not fail all members if a single member is not healthy in the etcd cluster. (#110072, @neolit123) [SIG Cluster Lifecycle]
  • Kubeadm: support experimental JSON/YAML output for "kubeadm upgrade plan" with the "--output" flag (#108447, @pacoxu) [SIG Cluster Lifecycle]
  • Kubeadm: update CoreDNS to v1.9.3. (#110489, @pacoxu) [SIG Cluster Lifecycle]
  • Kubectl: support multiple resources for kubectl rollout status (#108777, @pjo256) [SIG CLI and Testing]
  • Kubernetes is now built with Golang 1.18.2 (#110043, @cpanato) [SIG Release and Testing]
  • Kubernetes is now built with Golang 1.18.3 (#110421, @cpanato) [SIG Release and Testing]
  • Lock CSIMigrationAzureDisk feature gate to default (#110491, @andyzhangx) [SIG Cloud Provider]
  • MaxUnavailable for StatefulSets, allows faster RollingUpdate by taking down more than 1 pod at a time. The number of pods you want to take down during a RollingUpdate is configurable using maxUnavailable parameter. (#109251, @krmayankk) [SIG Apps and CLI]
  • Return a warning when applying a pod-security.kubernetes.io label to a PodSecurity-exempted namespace. Stop including the pod-security.kubernetes.io/exempt=namespace audit annotation on namespace requests. (#109680, @tallclair) [SIG Auth]
  • TopologySpreadConstraints will be shown in describe command for pods, deployments, daemonsets, etc. (#109563, @ardaguclu) [SIG CLI]
  • Updat debian-base, debian-iptables, and setcap images:
    • debian-base:bullseye-v1.3.0
    • debian-iptables:bullseye-v1.4.0
    • setcap:bullseye-v1.3.0 (#110558, @wespanther) [SIG Architecture, Release and Testing]
  • When using the OpenStack legacy cloud provider, kubelet and KCM will ignore unknown configuration directives rather than failing to start. (#109709, @mdbooth) [SIG Cloud Provider]

Failing Test

  • E2e tests: the e2e image, agnhost:2.38, has a bug and it hangs instead of exiting if a SIGTERM signal is received and the shutdown-delay option is 0` (#110214, @aojea) [SIG Testing]

Bug or Regression

  • Allow expansion of ephemeral volumes (#109987, @gnufied) [SIG Node and Storage]

  • Apiserver: fix audit of loading more than one webhooks (#110145, @sxllwx) [SIG API Machinery and Auth]

  • Do not raise an error when setting a label with the same value, just ignore it. (#105936, @zigarn) [SIG CLI]

  • EndpointSlices marked for deletion are now ignored during reconciliation. (#109624, @aryan9600) [SIG Apps and Network]

  • Etcd: Update to v3.5.4 (#110033, @mk46) [SIG API Machinery, Cloud Provider, Cluster Lifecycle and Testing]

  • Fix JobTrackingWithFinalizers that:

    • was declaring a job finished before counting all the created pods in the status
    • was leaving pods with finalizers, blocking pod and job deletions

    JobTrackingWithFinalizers is still disabled by default. (#109486, @alculquicondor) [SIG Apps and Testing]

  • Fix a bug where CRI implementations that use cAdvisor stats provider (CRI-O) don't evict pods when their logs exceed ephemeral storage limit. (#108115, @haircommander) [SIG Node]

  • Fix a bug where CSI migration doesn't count inline volumes for attach limit. (#107787, @Jiawei0227) [SIG Scheduling and Storage]

  • Fix a bug where metrics are not recorded during Preemption(PostFilter). (#108727, @sanposhiho) [SIG Scheduling]

  • Fix a data race in authentication between AuthenticatedGroupAdder and cached token authenticator. (#109969, @sttts) [SIG API Machinery and Auth]

  • Fix bug that prevented informer/reflector callers from unwrapping and catching specific API errors by type. (#110076, @karlkfi) [SIG API Machinery]

  • Fix bug that prevented the job controller from enforcing activeDeadlineSeconds when set (#110294, @harshanarayana) [SIG Apps and Scheduling]

  • Fix for volume reconstruction of CSI ephemeral volumes (#108997, @dobsonj) [SIG Node, Storage and Testing]

  • Fix image pulling failure when IMDS is unavailable in kubelet startup (#110523, @andyzhangx) [SIG Cloud Provider]

  • Fix incorrectly report scope for request_duration_seconds and request_slo_duration_seconds metrics for POST custom resources API calls. (#110009, @azylinski) [SIG Instrumentation]

  • Fix printing resources with int64 fields (#110408, @tkashem) [SIG API Machinery]

  • Fix spurious kube-apiserver log warnings related to openapi v3 merging when creating or modifying CustomResourceDefinition objects (#109880, @Jefftree) [SIG API Machinery and Testing]

  • Fix the bug that a ServiceIPStaticSubrange enabled cluster assigns duplicate IP addresses when the dynamic block is exhausted. (#109928, @tksm) [SIG Network]

  • Fix the bug that the metrics for the cluster IP allocator are incorrectly reported. (#110027, @tksm) [SIG Instrumentation]

  • Fixed a kubelet issue that could result in invalid pod status updates to be sent to the api-server where pods would be reported in a terminal phase but also report a ready condition of true in some cases. (#110256, @bobbypage) [SIG Node and Testing]

  • Fixed a long-standing but very obscure bug involving Services of type LoadBalancer with multiple IPs and a LoadBalancerSourceRanges that overlaps the node IP. (#109826, @danwinship) [SIG Network]

  • Fixes strict server-side field validation treating metadata fields as unknown fields (#109268, @liggitt) [SIG API Machinery and Testing]

  • Kube-apiserver: Get, GetList and Watch requests that should be served by the apiserver cacher during shutdown will be rejected to avoid a deadlock situation leaving requests hanging. (#108414, @aojea) [SIG API Machinery]

  • Kubeadm: only taint control plane nodes when the legacy "master" taint is present. This avoids a bug where "kubeadm upgrade" will re-taint a control plane node with the new "control plane" taint even if the user explicitly untainted the node. (#109840, @neolit123) [SIG Cluster Lifecycle]

  • Kubeadm: pass the host OS environment variables when executing "crictl" during image pulls. This fixes a bug where *PROXY environment variables did not affect crictl's internet connectivity. (#110134, @mk46) [SIG Cluster Lifecycle]

  • Kubelet: wait for node allocatable ephemeral-storage data (#101882, @jackfrancis) [SIG Node and Storage]

  • Kubernetes now correctly handles "search ." in the host's resolv.conf file by preserving the "." entry in the "resolv.conf" that the kubelet writes to pods. (#109441, @Miciah) [SIG Network and Node]

  • ManagedFields time is correctly updated when the value of a managed field is modified. (#110058, @glebiller) [SIG API Machinery]

  • Manual change of a failed job condition status to False does not result in duplicate conditions (#110292, @mimowo) [SIG Apps]

  • OpenAPI will no longer duplicate these schemas:

    • io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions_v2
    • io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta_v2
    • io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference_v2
    • io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails_v2
    • io.k8s.apimachinery.pkg.apis.meta.v1.Status_v2 (#110179, @Jefftree) [SIG API Machinery and Testing]
  • Panics while calling validating admission webhook are caught and honor the fail open or fail closed setting. (#108746, @deads2k) [SIG API Machinery]

  • Pods will now post their readiness during termination. (#110191, @rphillips) [SIG Network, Node and Testing]

  • Reduced time taken to sync proxy rules on Windows kube-proxy with kernelspace mode (#109124, @daschott) [SIG Network, Release and Windows]

  • The kube-proxy sync_proxy_rules_no_endpoints_total metric now only counts local-traffic-policy services which have remote endpoints but not local endpoints. (#109782, @danwinship) [SIG Network]

  • The pod phase lifecycle guarantees that terminal Pods, those whose states are Unready or Succeeded, can not regress and will have all container stopped. Hence, terminal Pods will never be reachable and should not publish their IP addresses on the Endpoints or EndpointSlices, independently of the Service TolerateUnready option. (#110255, @robscott) [SIG Apps, Network, Node and Testing]

  • Upgrade Azure/go-autorest/autorest to v0.11.27 (#110371, @andyzhangx) [SIG Cloud Provider]

Other (Cleanup or Flake)

  • Add missing powershell option to kubectl completion command short description (#109773, @danielhelfand) [SIG CLI]
  • Apimachinery/clock: This deletes the apimachinery/clock package. Please use k8s.io/utils/clock instead. (#109752, @MadhavJivrajani) [SIG API Machinery]
  • Apiserver_longrunning_gauge is removed from the codebase. Please use apiserver_longrunning_requests instead. (#110310, @logicalhan) [SIG API Machinery and Instrumentation]
  • Feature gates that graduated to GA in 1.23 or earlier and were unconditionally enabled have been removed: CSIServiceAccountToken, ConfigurableFSGroupPolicy, EndpointSlice, EndpointSliceNodeName, EndpointSliceProxying, GenericEphemeralVolume, IPv6DualStack, IngressClassNamespacedParams, StorageObjectInUseProtection, TTLAfterFinished, VolumeSubpath, WindowsEndpointSliceProxying (#109435, @pohly) [SIG API Machinery, Architecture and Cloud Provider]
  • For resources built into an apiserver, the server now logs at -v=3 whether it is using watch caching. (#109175, @MikeSpreitzer) [SIG API Machinery]
  • Honor the framework delete timeout for pv (#109764, @saikat-royc) [SIG Storage and Testing]
  • Kube-controller-manager's deprecated --experimental-cluster-signing-duration flag is now removed. Adapt your machinery to use the --cluster-signing-duration flag that is available since v1.19. (#108476, @ialidzhikov) [SIG Auth]
  • Kubeadm: perform additional dockershim cleanup. Treat all container runtimes as remote by using the flag "--container-runtime=remote", given dockershim was removed in 1.24 and given kubeadm 1.25 supports a kubelet version of 1.24 and 1.25. The flag "--network-plugin" will no longer be used for new clusters. Stop cleaning up the following dockershim related directories on "kubeadm reset": "/var/lib/dockershim", "/var/runkubernetes", "/var/lib/cni" (#110022, @neolit123) [SIG Cluster Lifecycle]
  • Kubelet's deprecated --experimental-kernel-memcg-notification flag is now removed. Use --kernel-memcg-notification instead. (#109388, @ialidzhikov) [SIG Node]
  • Kubernetes binaries are now built in module mode instead of GOPATH mode (#109464, @liggitt) [SIG Architecture, Node and Testing]
  • Remove deprecated kubectl.kubernetes.io/default-logs-container support (#109254, @pacoxu) [SIG CLI]
  • Rename apiserver_watch_cache_watch_cache_initializations_total to apiserver_watch_cache_initializations_total (#109579, @logicalhan) [SIG API Machinery and Instrumentation]
  • TBD (#109277, @MikeSpreitzer) [SIG Architecture and Instrumentation]
  • Updated cri-tools to [v1.24.2(https://github.com/kubernetes-sigs/cri-tools/releases/tag/v1.24.2) (#109813, @saschagrunert) [SIG Cloud Provider, Node and Release]
  • apiserver_dropped_requests is dropped from this release since apiserver_request_total can now be used to track dropped requests. etcd_object_counts is also removed in favor of apiserver_storage_objects. apiserver_registered_watchers is also removed in favor of apiserver_longrunning_requests. (#110337, @logicalhan) [SIG API Machinery and Instrumentation]

Dependencies

Added

  • github.com/emicklei/go-restful/v3: v3.8.0
  • github.com/golang-jwt/jwt/v4: v4.2.0
  • github.com/golangplus/bytes: v1.0.0
  • github.com/golangplus/fmt: v1.0.0

Changed

Removed