Skip to content

karmada v0.8.0 release

Compare
Choose a tag to compare
@kevin-wangzefeng kevin-wangzefeng released this 20 Aug 10:09
· 5149 commits to master since this release
c37bedc

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 and ClusterResourceBinding now supports present the applied status. (@pigletfly #595)
  • More types of resources now support aggregating status to the resource template, inlcuding Job, Service, and Ingress. (@mrlihanbo #609)
  • argo-cd is also verified to run full featured with Karmada to achieve multi-cluster GitOps.

Other Notable Changes

  • karmadactl: introduced cordon and uncordon 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)