What's New
Upgrading support
Users are now able to upgrade from the previous version smoothly. With the multiple version feature of CRD, objects with different schemas can be automatically converted between versions. Karmada uses the semantic versioning and will provide workarounds for inevitable breaking changes.
In this release, the ResourceBining
and ClusterResourceBinding
promote to v1alpha2
and the previous v1alpha1
version is still available for one more release. With the upgrading instruction, the previous version of Karmada can promote smoothly.
(Feature contributor: @RainbowMango )
Introduced karmada-scheduler-estimator to facilitate end-to-end scheduling accuracy
Karmada scheduler aims to assign workload to clusters according to constraints and available resources of each member cluster. The kube-scheduler
working on each cluster takes the responsibility to assign Pods to Nodes.
Even though Karmada has the capacity to reschedule failure workload between member clusters, but the community still commits lots of effort to improve the accuracy of the end-to-end scheduling.
The karmada-scheduler-estimator
is the effective assistant of karmada-scheduler
, it provides prediction-based scheduling decisions that can significantly improve the scheduling efficiency and avoid the wave of rescheduling among clusters. Note that this feature is implemented as a pluggable add-on. For the instructions please refer to scheduler estimator guideline.
(Feature contributor: @Garrybest )
Maintainability improvements
A bunch of significant maintainability improvements were added to this release, including:
-
Simplified Karmada installation with helm chart.
(Feature contributor: @algebra2k @jrkeen ) -
Provided metrics to observe scheduler status, the metrics API now served at
/metrics
ofkarmada-scheduler
.
With these metrics, users are now able to evaluate the scheduler's performance and identify the bottlenecks.
(Feature contributor: @qianjun1993 ) -
Provided events to Karmada API objects as supplemental information to debug problems.
(Feature contributor: @pigletfly )
Other Notable Changes
- karmada-controller-manager: The
ResourceBinding
/ClusterResourceBinding
won't be deleted after associatePropagationPolicy
/ClusterPropagationPolicy
is removed and is still available untilresource template
is removed.(@qianjun1993, #601) - Introduced
--leader-elect-resource-namespace
which is used to specify the namespace of election object to components karmada-controller-manager/
karmada-scheduler/
karmada-agent`. (@XiShanYongYe-Chang #698) - Deprecation: The API
ReplicaSchedulingPolicy
has been deprecated and will be removed from the following release. The feature now has been integrated into ReplicaScheduling. - Introduced
kubectl-karmada
commands as the extensions forkubectl
. (@XiShanYongYe-Chang #686) karmada-controller-manager
introduced aversion
command to represent version information. (@RainbowMango #717 )karmada-scheduler
/karmada-webhook
/karmada-agent
/karmada-scheduler-estimator
introduced aversion
command to represent version information. (@lonelyCZ #719 )- Provided instructions about how to use the
Submariner
to connect the network between member clusters. (@XiShanYongYe-Chang #737 ) - Added four metrics to the
karmada-scheduler
to monitor scheduler performance. (@qianjun1993 #747)
Contributors
Thank you to everyone who contributed to this release!
Users whose commits are in this release (alphabetically by user name)