Releases: openkruise/kruise
Releases · openkruise/kruise
v1.8.0
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
v1.7.3
v1.7.2
v1.5.5
To install or upgrade to the old version, see installation doc.
Chang log since v1.5.4
Advanced Workload
v1.6.4
v1.7.1
v1.7.0
To install or upgrade to the old version, see installation doc.
Change log since v1.6.3
Key Features
- When CloneSet volumeClaimTemplates changed, always recreate pods and related volumes. (#1561, @ABNER-1)
- Bump K8s dependency to 1.28, and OpenKruise still works with Kubernetes Version >= 1.18. (#1598, @ABNER-1)
- SidecarSet support k8s 1.28 Sidecar Containers(initContainers[x].restartPolicy=Always), and significantly improves the lifecycle management of Sidecar containers,
refer to the community documentation for details. (#1613, @zmberg) - ImagePullJob support for credential provider plugin, e.g. aws. (#1383, @Kuromesi)
- Advanced StatefulSet support start ordinal. (#1643, @ABNER-1)
- Support webhook CA injection using external certification management tool, e.g. cert-manager. (#1665, @Kuromesi)
- Kruise-daemon support cri-docker.sock for kubernetes clusters that use docker runtime. (#1631, @BraceCY)
- Advanced StatefulSet add pod index label
statefulset.kubernetes.io/pod-index
. (#1667, @cr7258) - Add Structured logging support. (#1565, @MajLuu); (#1629, @jairuigou); (#1669, @AiRanthem)
Performance Enhancement
- Optimizing Pod SidecarSet webhook and controller performance when lots of namespace scoped sidecarSet exists (#1547, @ls-2018)
- Pod readiness controller use Patch instead of Update, thus reducing updating conflict when creating a large number of Pods. (#1560, @BruceAko)
Bug fixes
- Multi-domain Management
- Fixes workloadSpread validation message when using adaptive strategy type. (#1553, @voron)
- When feature-gate WorkloadSpread=false, the WorkloadSpread Controller is no longer started and the creation of workloadSpread CR is not allowed. (#1566, @ls-2018)
- Application Protection
- In some extreme scenarios, fix PodUnavailableBudget blocking KCM recycling Pods. (#1567, @Spground)
- Sidecar Container
- Fix SidecarSet invalid update status. (#1641, @Spground)
- Advanced Workload
- Fix potential nil panic in CloneSet validating webhook when Pod's controller owner ref is nil. (#1678, @Spground)
Misc (cleanup and Flake)
- Optimized Advanced StatefulSet code structure based on upstream community code(k8s 1.28). (#1648, @ABNER-1)
- Reduce github workflow action permission. (#1523, @furykerry)
- Bug fix for Makefile envtest failed. (#1548, @BH4AWS)
- Fix UT TestRevisionManage. (#1555, @furykerry)
- Upgrade opencontainers/runc (1.1.12) and controller-gen (0.14.0). (#1562, @ppbits)
- Remove vendor directory. (#1554, @liangyuanpeng)
- Add dependabot config for auto-update github-actions. (#1570, @liangyuanpeng)
- Add permission of security-events write for ghaction golangci-lint. (#1582, @liangyuanpeng)
- Fix vendor error while running command make docker-multiarch. (#1601, @MichaelRren)
- Change e2e centos image from 6.7 to 7, then e2e can work on arm node. (#1623, @Colvin-Y)
- Fix slice declarations that are not initialized with zero length. (#1628, @alingse)
- Fix UT TestMatchRegistryAuths failed. (#1583, @ABNER-1)
- Changes the scorecard badge link from old format to the Standard human-readable OpenSSF Scorecard Report. (#1657, @harshitasao)