Change Log
v1.9.0
Change log since v1.8.2
Upgrade Notice
No, really, you must read this before you upgrade
- Update Kubernetes dependency to v1.32.6 and Golang to v1.23 (#2067, @chengjoey)
- Upgrade kruise apis(BroadcastJob, AdvancedCronJob, ImagePullJob, ImageListPullJob, NodeImage, Advanced DaemonSet, SidecarSet) from v1alpha1 to v1beta1. (#2186,#2201, @PersistentJZH)
Key Features
- UnitedDeployment support feature ReserveUnschedulablePods. (#1941, @AiRanthem)
- AdvancedCronJob support cron ImagePullJob. (#2207, @bitsf)
- CloneSet support progressDeadlineSeconds. (#2108, @MichaelRren)
- SidecarSet supports setting up sidecar resources based on pod specification. (#2200, @Colvin-Y)
- PodUnavailableBudget support protect Pod RESIZE action. (#2061, @Colvin-Y)
Other Notable Changes
Sidecar Management
- SidecarSet supports injecting containers in order, with the option to sort by container name. (#1983, @zmberg)
- JobSidecarTerminator supports configuring whether to ignore container exit codes via environment KRUISE_TERMINATE_SIDECAR_IGNORE_EXIT_CODE. (#1949, @zmberg)
- SidecarSet support shareVolumeDevicePolicy. (#2011, @zmberg)
Others
- OpenKruise Daemon support Windows. (#1909, @peng2x)
- ImagePullJob increases node-side concurrency control. (#1918, @ABNER-1)
- PodProbeMarker support http prober. (#2011, @zmberg)
- CloneSet UpdateStrategy support OnDelete. (#2224, @zmberg)
Bug Fixes
- Fixed a null pointer panic issue in kruise-daemon caused by PodProbeMarker. (#1974, @zmberg)
- Fix the issue of crash caused by index out of range in the WorkloadSpread's util NestedField function. (#1967, @Slideee)
- Fix workloadSpread mutating validate get targetRef StatefulSet failed. (#1965, @Slideee)
- Set the ResourceIsPod of DefaultPodValidationOptions to false. (#1986, @Yesphet)
- Fix cloneSet no process preNormal hook while enable FeatureGate CloneSetEventHandlerOptimization. (#2060, @MichaelRren)
- Transition cloneSet pod lifecycle from PreparingNormal to Normal after scheduling when PreNormal hook is not specified. (#2087, @MichaelRren)
- CloneSet/SidecarSet prioritySort sorter is stable if no priority(weight, order) rules be matched. (#2107, @Spground)
- Fix statefulSet actions stop when pod is stuck in terminating. (#2109, @derlopes-amzn)
- Numerical maxUnavailable / maxSurge string values like "5" will be rejected by validation webhook. (#2111, @AiRanthem)
- Fix PodProbeMarker TCP Probe failure due to empty IP address. (#2162, @zmberg)
- Fix imagepulljob parallelism control. (#2212, @furykerry)
- Fix SidecarSet panic when Pod is deleted. (#2472, @Spground)
- Fix CloneSet ignoring Pod active state changes when CloneSetEventHandlerOptimization is enabled, and add event when pod enters Failed phase. (#2481, @a932846905)
- Resolve ImagePullJob high CPU caused by cascading reconcile amplification. (#2483, @zmberg)
- Fix CRR false-positive container restart detection due to StartedAt check. (#2483, @zmberg)
- Fix ResourceDistribution controller cache mismatch by using unstructured watch. (#2483, @zmberg)
- Fix CloneSet panic when equal revision has nil annotations. (#2486, @furykerry)
Misc (Chores and tests)
- Readme add 'Get Your Own OpenKruise Demo with Alibaba Cloud'. (#1930, @taosher)
- Fix Makefile manifests gen crd bugs. (#1940, @ABNER-1)
- Add webhook initialize timeout args, and default is 60s. (#1947, @zmberg)
- Add some logs for WorkloadSpread managing existing pods. (#1976, @AiRanthem)
- Add fuzz test for workloadSpread, unitedDeployment, resourceDistribution, sidecarSet. (#1990,#1998,#2010, @Slideee)
- Use ubuntu 24.04 to run github check. (#1997, @ABNER-1)
- Fix: WorkloadSpread e2e tests that run in parallel frequently encounter failures. (#1996, @ABNER-1)
- Update golang-lint to v2 and fix related goimports error. (#2019, @furykerry)
- Github CI add Fuzzing test. (#2012, @Slideee)
- Correct grammatical errors in documentation. (#2024, @arya2004)
- Optimize Inplace-VPA E2E Case, Add Wait Rule or Adjust Expected State. (#1999, @ABNER-1)
- Refactor: Replace deprecated wait.PollImmediate, utilpointer.BoolPtr, utilpointer.Int32Ptr. (#2076,#2070,#2068, @arya2004)
- Before accessing sidecarSet volumesMap[mount.Name], check if it is nil to avoid a null pointer access. (#2079, @Slideee)
- Add some unit tests. (#2099,#2103,#2098, @GautamBytes). (#2118,#2117,#2125, @Parship12). (#2143, @kincoy)
- Fix controller-gen version inconsistency. (#2202, @chengjoey)
- Fix CloneSet E2E progressing condition checks by using Eventually. (#2483, @zmberg)
- Fix ResourceDistribution E2E revert check by using Data instead of StringData. (#2483, @zmberg)
New Contributors
- @taosher made their first contribution in #1930
- @kagaya85 made their first contribution in #2003
- @narharim made their first contribution in #2022
- @arya2004 made their first contribution in #2024
- @abhi0324 made their first contribution in #2034
- @GautamBytes made their first contribution in #2099
- @derlopes-amzn made their first contribution in #2109
- @7h3-3mp7y-m4n made their first contribution in #2142
- @PulkitDadwal made their first contribution in #2134
- @kincoy made their first contribution in #2143
- @zhusyang-jlu made their first contribution in #2188
- @PersistentJZH made their first contribution in #2186
- @bitsf made their first contribution in #2207
- @ktalg made their first contribution in #2274
- @AAdIprog made their first contribution in #2303
- @Kunal1522 made their first contribution in #2317
- @rakshaak29 made their first contribution in #2407
Full Changelog: v1.8.4...v1.9.0