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 issues caused by reconciliation based on stale cache (#2274, @ktalg), (#2277, @veophi)
- 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)
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)