Skip to content

Commit f2ba047

Browse files
committed
Add release notes of v1.10
Signed-off-by: zhzhuang-zju <[email protected]>
1 parent ef14a98 commit f2ba047

File tree

2 files changed

+169
-2
lines changed

2 files changed

+169
-2
lines changed

docs/CHANGELOG/CHANGELOG-1.10.md

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
2+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3+
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
4+
5+
- [v1.10.0](#v1100)
6+
- [Downloads for v1.10.0](#downloads-for-v1100)
7+
- [What's New](#whats-new)
8+
- [Workload Rebalance](#workload-rebalance)
9+
- [Got rid of the restriction on the length of resource template name](#got-rid-of-the-restriction-on-the-length-of-resource-template-name)
10+
- [Other Notable Changes](#other-notable-changes)
11+
- [API Changes](#api-changes)
12+
- [Deprecation](#deprecation)
13+
- [Bug Fixes](#bug-fixes)
14+
- [Security](#security)
15+
- [Features & Enhancements](#features--enhancements)
16+
- [Other](#other)
17+
- [Dependencies](#dependencies)
18+
- [Helm Charts](#helm-charts)
19+
- [Instrumentation](#instrumentation)
20+
- [Contributors](#contributors)
21+
22+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
23+
24+
# v1.10.0
25+
## Downloads for v1.10.0
26+
27+
Download v1.10.0 in the [v1.10.0 release page](https://github.com/karmada-io/karmada/releases/tag/v1.10.0).
28+
29+
## What's New
30+
31+
### Workload Rebalance
32+
33+
This release introduced a workload rebalancing capability. It can actively trigger a brand fresh rescheduling to establish an entirely new replicas distribution across clusters.
34+
35+
In some scenarios, the current distribution of replicas might not always be ideal, such as:
36+
37+
* Replicas were migrated due to cluster failover, but the cluster has now recovered.
38+
39+
* Replicas were migrated due to application-level failover, but each cluster now has sufficient resources to run the replicas.
40+
41+
* For the `Aggregated` scheduling strategy, replicas were initially distributed across multiple clusters due to resource constraints, but now a single cluster is sufficient to accommodate all replicas.
42+
43+
With the workload rebalancing capability, users can trigger a workload rebalancing on demand if the current replicas distribution is not optimal.
44+
45+
For a detailed description of this feature, see the [User Guide](https://karmada.io/docs/next/userguide/scheduling/workload-rebalancer), and for a specific demonstration, see the [Tutorial](https://karmada.io/docs/next/tutorials/workload-rebalancer).
46+
47+
(Feature contributors: @chaosi-zju)
48+
49+
### Got rid of the restriction on the length of resource template name
50+
51+
Due to historical design reasons, the name of the resource template will be used as the name of the label, thereby accelerating the retrieval of resources. Since Kubernetes limits the label to no more than 63 characters, this indirectly restricts the length of the resource template, seriously preventing users from migrating workload from legacy cluster to multiple clusters.
52+
53+
The work that got rid of this restriction started from release 1.8, we did sufficient preparatory work in both releases 1.8 and release 1.9 to ensure that users using the old version of Karmada can smoothly upgrade to the new version.
54+
55+
See [[Umbrella] Use permanent-id to replace namespace/name labels in the resource](https://github.com/karmada-io/karmada/issues/4711) for more details.
56+
57+
(Feature contributors: @liangyuanpeng, @whitewindmills, @XiShanYongYe-Chang)
58+
59+
## Other Notable Changes
60+
### API Changes
61+
- Introduced `ServiceAnnotations` to the `Karmada` API to provide an extra set of annotations to annotate karmada apiserver services. ([#4679](https://github.com/karmada-io/karmada/pull/4679), @calvin0327)
62+
- Add a short name for resourceinterpretercustomizations CRD resource. ([#4872](https://github.com/karmada-io/karmada/pull/4872), @XiShanYongYe-Chang)
63+
- Introduce a new API named `WorkloadRebalancer` to support rescheduling. ([#4841](https://github.com/karmada-io/karmada/pull/4841), @chaosi-zju)
64+
65+
### Deprecation
66+
- The following labels have been deprecated from release `v1.8.0` and now have been removed:
67+
* `resourcebinding.karmada.io/uid`
68+
* `clusterresourcebinding.karmada.io/uid`
69+
* `work.karmada.io/uid`
70+
* `propagationpolicy.karmada.io/uid`
71+
* `clusterpropagationpolicy.karmada.io/uid`
72+
- The following labels now have been deprecated and removed:
73+
* `resourcebinding.karmada.io/key` replaced by `resourcebinding.karmada.io/permanent-id`
74+
* `clusterresourcebinding.karmada.io/key` replaced by `clusterresourcebinding.karmada.io/permanent-id`
75+
* `work.karmada.io/namespace` replaced by `work.karmada.io/permanent-id`
76+
* `work.karmada.io/name` replaced by `work.karmada.io/permanent-id`
77+
* `resourcebinding.karmada.io/depended-id`
78+
- `karmadactl`: The flag `--cluster-zone`, which was deprecated in release 1.7 and replaced by `--cluster-zones`, now has been removed. ([#4967](https://github.com/karmada-io/karmada/pull/4967), @RainbowMango)
79+
80+
### Bug Fixes
81+
- `karmada-operator`: Fixed the `karmada-search` can not be deleted issue due to missing `app.kubernetes.io/managed-by` label. ([#4674](https://github.com/karmada-io/karmada/pull/4674), @laihezhao)
82+
- `karmada-controller-manager`: Fixed deployment replicas syncer in case deployment status changed before label added. ([#4721](https://github.com/karmada-io/karmada/pull/4721), @chaosi-zju)
83+
- `karmada-controller-manager`: Fixed incorrect annotation markup when policy preemption occurs. ([#4751](https://github.com/karmada-io/karmada/pull/4751), @XiShanYongYe-Chang)
84+
- `karmada-controller-manager`: Fixed the issue of EndpointSlice residual in case of the karmada-controller-manager restart. ([#4737](https://github.com/karmada-io/karmada/pull/4737), @XiShanYongYe-Chang)
85+
- `karmada-controller-manager`: Fixed deployment replicas syncer in case that `status.replicas` haven't been collected from member cluster to template. ([#4729](https://github.com/karmada-io/karmada/pull/4729), @chaosi-zju)
86+
- `karmada-controller-manager`: Fixed the problem that labels cannot be deleted via Karmada propagation. ([#4784](https://github.com/karmada-io/karmada/pull/4784), @whitewindmills)
87+
- `karmada-controller-manager`: Fixed the problem that work.karmada.io/permanent-id constantly changes with every update. ([#4793](https://github.com/karmada-io/karmada/pull/4793), @whitewindmills)
88+
- `resourceinterpreter`: Avoid delete the key with empty value in object (lua table). ([#4656](https://github.com/karmada-io/karmada/pull/4656), @chaosi-zju)
89+
- `karmada-controller-manager`: Fixed the bug of mcs binding losing resourcebinding.karmada.io/permanent-id label. ([#4818](https://github.com/karmada-io/karmada/pull/4818), @whitewindmills)
90+
- `resourceinterpreter`: Prune deployment revision annotations. ([#4946](https://github.com/karmada-io/karmada/pull/4946), @a7i)
91+
- `karmada-controller-manager`: Fix depended-by label value exceed 63 characters in dependencies-distributor. ([#4989](https://github.com/karmada-io/karmada/pull/4989), @XiShanYongYe-Chang)
92+
- `karmadactl`: Fix register cluster creates agent missing `--cluster-namespace` parameter. ([#5005](https://github.com/karmada-io/karmada/pull/5005), @yanfeng1992)
93+
94+
### Security
95+
- Bump google.golang.org/protobuf from 1.31.0 to 1.33.0 fix CVE(CVE-2024-24786) concerns. ([#4715](https://github.com/karmada-io/karmada/pull/4715), @liangyuanpeng)
96+
- Upgrade rsa key size from 2048 to 3072. ([#4955](https://github.com/karmada-io/karmada/pull/4955), @chaosi-zju)
97+
- Replace `text/template` with `html/template`, which adds security protection such as HTML encoding and has stronger functions. ([#4957](https://github.com/karmada-io/karmada/pull/4957), @chaosi-zju)
98+
- Grant the correct permissions when creating a file. ([#4960](https://github.com/karmada-io/karmada/pull/4960), @chaosi-zju)
99+
100+
### Features & Enhancements
101+
- `karmada-controller-manager`: Using the natural ordering properties of red-black trees to sort the listed policies to ensure the higher priority (Cluster)PropagationPolicy being processed first to avoid possible multiple preemption. ([#4555](https://github.com/karmada-io/karmada/pull/4555), @whitewindmills)
102+
- `karmada-controller-manager`: Introduced `deploymentReplicasSyncer` controller which syncs Deployment's replicas from the member cluster to the control plane, while previous `hpaReplicasSyncer` been replaced. ([#4707](https://github.com/karmada-io/karmada/pull/4707), @chaosi-zju)
103+
- `karmada-metrics-adapter`: Introduced the `--profiling` and `--profiling-bind-address` flags to enable and control profiling. ([#4786](https://github.com/karmada-io/karmada/pull/4786), @chaosi-zju)
104+
- `karmada-metrics-adapter`: Using `TransformFunc` to trim unused information to reduce memory usage. ([#4796](https://github.com/karmada-io/karmada/pull/4796), @chaunceyjiang)
105+
- `karmadactl`: Introduced `--image-pull-policy` flag to the `init` command, which will be used to specify the image pull policy of all components. ([#4815](https://github.com/karmada-io/karmada/pull/4815), @XiShanYongYe-Chang)
106+
- `karmada-controller-manager`: Propagate `Secret` of type `kubernetes.io/service-account-token`. ([#4766](https://github.com/karmada-io/karmada/pull/4766), @a7i)
107+
- `karmada-metrics-adapter`: Add QPS related parameters to control the request rate of metrics-adapter to member clusters. ([#4809](https://github.com/karmada-io/karmada/pull/4809), @chaunceyjiang)
108+
- `thirdparty`: Show `status.labelSelector` for CloneSet. ([#4839](https://github.com/karmada-io/karmada/pull/4839), @veophi)
109+
- `karmada-controller-manager`: Add finalizer for propagation policy. ([#4836](https://github.com/karmada-io/karmada/pull/4836), @whitewindmills)
110+
- `karmada-scheduler`: Introduce a mechanism to scheduler to actively trigger rescheduling. ([#4848](https://github.com/karmada-io/karmada/pull/4848), @chaosi-zju)
111+
- `karmada-operator`: Allow the user to specify `imagePullPolicy` in Karmada CR when installing via karmada-operator. ([#4863](https://github.com/karmada-io/karmada/pull/4863), @seanlaii)
112+
- `karmada-controller-manager`: Support update event in WorkloadRebalancer. ([#4860](https://github.com/karmada-io/karmada/pull/4860), @chaosi-zju)
113+
- `karmada-controller-manager`: Remove cluster specific `PersistentVolume` annotation `volume.kubernetes.io/selected-node`. ([#4943](https://github.com/karmada-io/karmada/pull/4943), @a7i)
114+
- `karmada-webhook`: Add validation on policy permanent ID. ([#4964](https://github.com/karmada-io/karmada/pull/4964), @whitewindmills)
115+
- `karmada-controller-manager`: Support auto delete WorkloadRebalancer when time up. ([#4894](https://github.com/karmada-io/karmada/pull/4894), @chaosi-zju)
116+
- `karmadactl`: Integrated with OIDC authentication for cluster operation auditing and access control. ([#4883](https://github.com/karmada-io/karmada/pull/4883), @guozheng-shen)
117+
118+
## Other
119+
### Dependencies
120+
- Bump golang version to `v1.21.8`. ([#4706](https://github.com/karmada-io/karmada/pull/4706), @Ray-D-Song)
121+
- Bump Kubernetes dependencies to `v1.29.4`. ([#4884](https://github.com/karmada-io/karmada/pull/4884), @RainbowMango)
122+
- Karmada is now built with Go1.21.10. ([#4920](https://github.com/karmada-io/karmada/pull/4920), @zhzhuang-zju)
123+
- The base image `alpine` now has been promoted from `alpine:3.19.1` to `alpine:3.20.0`.
124+
125+
### Helm Charts
126+
- `Helm Chart`: Update operator crd when upgrading chart. ([#4693](https://github.com/karmada-io/karmada/pull/4693), @calvin0327)
127+
- Upgrade `bitnami/common` dependency in karmada chart from `1.x.x` to `2.x.x`. ([#4829](https://github.com/karmada-io/karmada/pull/4829), @warjiang)
128+
129+
### Instrumentation
130+
131+
## Contributors
132+
Thank you to everyone who contributed to this release!
133+
134+
Users whose commits are in this release (alphabetically by username)
135+
136+
- @a7i
137+
- @Affan-7
138+
- @B1F030
139+
- @calvin0327
140+
- @chaosi-zju
141+
- @chaunceyjiang
142+
- @dzcvxe
143+
- @Fish-pro
144+
- @grosser
145+
- @guozheng-shen
146+
- @hulizhe
147+
- @Jay179-sudo
148+
- @jwcesign
149+
- @khanhtc1202
150+
- @laihezhao
151+
- @liangyuanpeng
152+
- @my-git9
153+
- @RainbowMango
154+
- @Ray-D-Song
155+
- @rohit-satya
156+
- @seanlaii
157+
- @stulzq
158+
- @veophi
159+
- @wangxf1987
160+
- @warjiang
161+
- @whitewindmills
162+
- @wzshiming
163+
- @XiShanYongYe-Chang
164+
- @yanfeng1992
165+
- @yike21
166+
- @yizhang-zen
167+
- @zhzhuang-zju

docs/CHANGELOG/CHANGELOG-1.9.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ The PropgationPolicy now supports lazy mode that can delay the activation of mod
5757

5858
The ability also applies to ClusterPropagationPolicy and it is disabled by default for backward compatibility, users need to enable it explicitly by specifying the `activationPreference` in PropagationPolicy or ClusterPropagationPolicy.
5959

60-
See [Proposal of the LazyActivation preference for Policy](https://github.com/karmada-io/karmada/pull/4602) for more details.
60+
See [Proposal of the LazyActivation preference for Policy](https://github.com/karmada-io/karmada/blob/master/docs/proposals/scheduling/activation-preference/lazy-activation-preference.md) for more details.
6161

6262
(Feature contributors: @chaosi-zju)
6363

@@ -100,7 +100,7 @@ It is in alpha state and controlled by the feature gate `ResourceQuotaEstimate`,
100100
- `karmadactl`: Fixed return err in case of secret.spec. caBundle is nil. ([#4371](https://github.com/karmada-io/karmada/pull/4371), @CharlesQQ)
101101
- `karmadactl`: Register cluster install karmada-agent should set leader-elect-resouce-namespace. ([#4404](https://github.com/karmada-io/karmada/pull/4404), @yanfeng1992)
102102
- `karmada-search`: Add the logic of checking whether the resource API to be retrieved is installed in the cluster. ([#4554](https://github.com/karmada-io/karmada/pull/4554), @yanfeng1992)
103-
- karmada-search: support accept content type `as=Table` in the proxy global resource function. ([#4580](https://github.com/karmada-io/karmada/pull/4580), @niuyueyang1996)
103+
- `karmada-search`: support accept content type `as=Table` in the proxy global resource function. ([#4580](https://github.com/karmada-io/karmada/pull/4580), @niuyueyang1996)
104104
- `karmada-scheduler`: reschedule the replicas of the disappear clusters in PP/CPP. ([#4586](https://github.com/karmada-io/karmada/pull/4586), @jwcesign)
105105
- `karmada-operator`: Fixed the issue that the component can not be redeployed due to service update is not allowed. ([#4649](https://github.com/karmada-io/karmada/pull/4649), @laihezhao)
106106

0 commit comments

Comments
 (0)