To install or upgrade to the old version, see installation doc.
Change log since v1.7.3
Upgrade Notice
No, really, you must read this before you upgrade
- Disable the following feature gates by default: ResourcesDeletionProtection (#1919, @ABNER-1)
- Promote these feature gates to beta:
ResourcesDeletionProtection
,WorkloadSpread
,PodUnavailableBudgetDeleteGate
,InPlaceUpdateEnvFromMetadata
,
StatefulSetAutoDeletePVC
,
PodProbeMarkerGate
(#1919, @ABNER-1) - Update Kubernetes dependency to v1.30.10 and Golang to v1.22 (#1896, @ABNER-1, #1924, @furykerry))
- Prior to Kruise 1.7.3,
helm uninstall
is a high-risk operation that deletes Kruise, its CRDs, and associated CRs. Starting from Kruise 1.7.3, it uses a pre-delete hook to check for existing Kruise CRs before uninstallation and blocks the process to prevent accidental deletion.
Key Features
- Support in-place expansion of StatefulSet volumes (#1674, #1714, @ABNER-1)
- Enable in-place resource resizing for CloneSet, Advanced StatefulSet, and Advanced DaemonSet (#1353, #1866, @LavenderQAQ, @ABNER-1)
- Support adaptive scheduling strategy for UnitedDeployment (#1720, @AiRanthem)
- Add WorkloadSpread support for AI workload like TFJob in KubeFlow (#1838, @AiRanthem)
Performance Improvements
- Optimize CA bundle updates to reduce unnecessary changes (#1717, @zmberg)
- Add disableDeepCopy for BroadcastJob (#1696, @Prepmachine4)
Resilience Enhancement
- Add Helm pre-delete hook to preserve Kruise CRs during uninstallation (#1843, @AiRanthem)
Other Notable Changes
Advanced Workload
- Add lifecycle hooks and tests for Advanced StatefulSet (#1858, @mingzhou.swx, @ABNER-1)
- Add range-based reserveOrdinals support for Advanced StatefulSet (#1873, @AiRanthem)
- Redefined partition semantics to represent non-updated pod count (#1819, @ABNER-1; #1751, @zybtakeit, @ABNER-1)
Sidecar Management
- Support inject both stable and updated version sidecar according to updateStrategy (#1689, #1856, @AiRanthem)
- Refine SidecarSet initContainer handling (#1719, @zmberg)
Multi-domain management
- Introduce
pub.kruise.io/disable-fetch-replicas-from-workload=true
annotation for CRD compatibility (#1758, @zmberg) - Extend PodProbeMarker to serverless pods (#1875, @zmberg)
- Enable priorityClassName patching in WorkloadSpread (#1877, @AiRanthem)
- Sync all fields in UnitedDeployment spec to subset workload spec (#1798, @AiRanthem)
Bug Fixes
- Resolve token permission and dependency pinning issues (#1707, @harshitasao)
- Fix PyTorchJob pod creation failures (#1864, @zmberg)
- Correct ImagePullJob timeout handling (>1800s) (#1874, @zmberg)
- Resolve cri-dockerd runtime detection issues (#1899, @FlikweertvisionVadym)
- Remove pod ownerRef requirement in pub webhook (#1869, @zmberg)
- Address maxUnavailable blocking in SidecarSet updates (#1834, @zmberg)
- Fix CloneSet controller block from scale expectation leaks (#1829, @zmberg)
- Enforce imagePullPolicy=Always for ImagePullJob (#1830, @zmberg)
- Fix WorkloadSpread webhook panics (#1807, @AiRanthem)
Misc (Chores and tests)
- Standardize on CRI for image pulls (#1867, @furykerry)
- Introduce JSON log formatting (#1703, @zmberg)
- Remove Docker runtime dependency (#1870,@furykerry)
- Improve test parallelism and reliability (#1743, @MichaelRren)
- Enhance WorkloadSpread validation logic (#1740, @AiRanthem)
- Launche Kruise Guru on Gurubase.io (#1800, @kursataktas)
- Improve documentation accuracy (#1824, @furykerry)
- Fix KIND installation issues (#1688,@ABNER-1)
- Avoid overriding namespace config after deploying (#1772,@hantmac)
- Fix WorkloadSpread test flakiness by removing dependencies (#1895, @AiRanthem)
- Address SidecarSet e2e test failures (#1724, @zmberg)
- Enhance unit test stability (#1784, @AiRanthem)
New Contributors
- @Prepmachine4 made their first contribution in #1696
- @zybtakeit made their first contribution in #1751
- @kursataktas made their first contribution in #1800
- @LavenderQAQ made their first contribution in #1353
- @FlikweertvisionVadym made their first contribution in #1899
Full Changelog: v1.7.3...v1.8.0