What's New
Automatic cluster discovery with cluster-api
For users who are using cluster-api (sigs.k8s.io/cluster-api), Karmada is now able to automatically discover & join clusters when provisioned, and unjoin them in case of destroyed.
Note that this features is implemented as a built-in plugin. To enbale it, simply indicate the following to flags in karmada-controller-manager
config:
--cluster-api-kubeconfig string Path to the cluster-api management cluster kubeconfig file.
--cluster-api-context string Name of the cluster context in cluster-api management cluster kubeconfig file.
(Feature contributor: @XiShanYongYe-Chang )
Introduced CommandOverrider and ArgsOverrider to simplify commands customization per cluster
For multi-cluster applications, it's quite common to set different arguments when running on different clusters or environments.
In this release, two overrider plugins: CommandOverrider
and ArgsOverrider
are introduced, based on industry best practices. These two handy tools allow users to declare complex declarations and avoid configuration mistakes.
Workload types supported now are: Deployment
, ReplicaSet
, DaemonSet
, StatefulSet
and Pod
, more types including CRDs will be supported in later releases.
(Feature contributor: @lfbear @betaincao )
Better integration support with Kubernetes ecosystem
The Kubernetes native APIs support and patterns to run cloud-native applications of Karmada
make it quite easy to quickly integrate with other projects in the Kubernetes ecosystem.
In release, several useful features that will help Karmada
work seamlessly with other systems.
ResourceBinding
andClusterResourceBinding
now supports present theapplied
status. (@pigletfly #595)- More types of resources now support aggregating status to the resource template, inlcuding
Job
,Service
, andIngress
. (@mrlihanbo #609) - argo-cd is also verified to run full featured with Karmada to achieve multi-cluster GitOps.
Other Notable Changes
- karmadactl: introduced
cordon
anduncordon
commands to mark a cluster schedulable and un-schedulable. (#464, @algebra2k ) - karmada-controller-manager: introduced
--skipped-propagating-namespaces
flag to skip resources in certain namespaces from propagating. (#533, @pigletfly ) - karmada-controller-manager/karmada-agent/karmada-scheduler: Introduced flags to config the QPS and burst which are used to control the client traffic interacting with
Karmada
or member cluster's kube-apiserver. (#611, @Garrybest )- --cluster-api-qps QPS to use while talking with cluster kube-apiserver.
- --cluster-api-burst Burst to use while talking with cluster kube-apiserver.
- --kube-api-qps QPS to use while talking with karmada-apiserver.
- --kube-api-burst Burst to use while talking with karmada-apiserver.
- Karmada quick-start scripts now support running on
Mac OS
. (#538, @lfbear )
Contributors
Thank you to everyone who contributed to this release!
Users whose commits are in this release (alphabetically by user name)