Skip to content

Releases: karmada-io/karmada

karmada v0.6.0 release

29 May 15:09
bc7cfd8
Compare
Choose a tag to compare

What's New

Support syncing with member cluster behind proxy
In some scenarios where certain clusters may not be directly connected from the Internet, such as:

  • The member clusters are behind a NAT gateway from the Karmada control plane
  • The member clusters are in an on-prem Intranet while Karmada runs in the cloud

By setting proxy-url in the kubeconfig when registering member clusters, Karmada will talk to member clusters through indicated proxy. (#307, @liufen90)

Introduced ImageOverrider for simplifying image replacement
In most scenarios where clusters are running in different cloud or data centers, the workload requires a different image registry. ImageOverrider is a handy tool to override images for a workload before they are propagated to clusters. (#370, @XiShanYongYe-Chang)

Support scheduling based on cluster taint toleration
Karmada-scheduler now reflects taints on member clusters and tolerations defined in PropagationPolicy and ClusterPropagationPolicy
when scheduling resources. (#320, @mrlihanbo)

Support scheduling based on cluster topology
Karmada-scheduler now supports scheduling resources according to the topology information(cluster/provider/region/zone)
defined in cluster objects. (#357, @mrlihanbo)

Other Notable Changes

  • Installation: introduced hack/remote-up-karmada.sh to install Karmada on a specified Kubernetes as host. (#367, @lfbear)
  • karmadactl: introduced the version command to show the version it is built from. Try it on by command: # karmadactl version. (#285, @algebra2k)
  • API: added short name for most APIs. (#376, @pigletfly)
  • The resource templates now match PropagationPolicy or ClusterPropagationPolicy in alphabetical order
    when there are multiple policies that match. (#306, @XiShanYongYe-Chang)
  • Always generates ResourceBinding objects for namespace-scoped resource template. (#315, @vincent-pli)
  • karmada-controller-manager: introduced the leader-elect command line flag to enable or disable leadership election. (#321, @pigletfly)
  • The Work objects name now consist of the resource template's .metada.name, .metada.kind and .metadata.namespace. (#359, @Garrybest)

Contributors

Thank you to everyone who contributed to this release!

Users whose commits are in this release (alphabetically by user name)

karmada v0.5.0 release

20 Apr 14:54
29c307c
Compare
Choose a tag to compare

What's New

Support resource status aggregation from Karmada
Users are now able to query aggregated status of resources(propagated by Karmada) from Karmada API-server, no need to connect to each member cluster.
All resource's status in member clusters will be aggregated to its binding objects.
In addition, if the resource type is deployment, deployment status will be also reflected.

karmada-agent to support pull-based synchronization between control plan and member clusters
karmada-agent is introduced in this release to support cases the member clusters not directly reachable from the Karmada control plan.
The agent basically pulls all useful configurations from the Karmada control plane and applies to member clusters it serves.
The karmada-agent also completes cluster registration automatically.

ReplicaSchedulingPolicy API to customize replica scheduling constraints of Deployments
Users are now able to customize replica scheduling constraints of Deployments with ReplicaScheduling Policy API.
The replicas will be divided into different numbers for member clusters according to weight list indicated by the policy.

Other Notable Changes

  • The label karmada.io/override and karmada.io/cluster-override have been deprecated and replaced by policy.karmada.io/applied-overrides and policy.karmada.io/applied-cluster-overrides to indicate applied override rules.
  • The ResourceBinding and ClusterResourceBinding names now consist of resource kind and resource name.
  • Both PropagationPolicy and ClusterPropagationPolicy names now restricted to no more than 63 characters.
  • OverridePolicy and ClusterOverridePolicy changes will take effect immediately now.
  • Users are now able to use new flag --cluster-status-update-frequency when configuring karmada-agent and karmada-controller-manager, to specify cluster status update frequency.

Contributors

Thank you to everyone who contributed to this release!

Users whose commits are in this release (alphabetically by user name)

karmada v0.4.0 release

13 Mar 10:44
0a9a52c
Compare
Choose a tag to compare

What's New

New policy APIs have been added to support cluster level resources propagation and customization
Users are now able to use ClusterPropagationPolicy to propagate both cluster-scoped and namespace-scoped resources. In addition, users are able to use ClusterOverridePolicy to define the overall policy to realize differentiation propagation.

Support resource and policy detector
The detector watches both resources and policy (PropagationPolicy and ClusterPropagationPolicy) changes, all changes on resources or policies will take effect immediately.

Namespace Auto-provision feature get on board
Namespaces created on Karmada will be synced to all member clusters automatically. Users don't need to propagate namespaces anymore.

Scheduler now able to reschedule resources when policy changes
Once the Placement rule in the PropagationPolicy changed, the scheduler will reschedule to meet the declaration.

Scheduler now support failure recovery
Once any of the clusters becomes failure, the scheduler now able to re-schedule the resources to available clusters.
This feature is controlled by flag --failover and disabled by default.

Other Notable Changes

  • The PropagationWork API is now Work and located at the work.karmada.io group.
  • The PropagationBinding API is now ResourceBinding and located at the work.karmada.io group.
  • The label karmada.io/driven-by has been deprecated and replaced by propagationpolicy.karmada.io/namespace, propagationpolicy.karmada.io/name, and clusterpropagationpolicy.karmada.io/name.
  • The label karmada.io/created-by has been deprecated and replaced by propagationpolicy.karmada.io/namespace, propagationpolicy.karmada.io/name, clusterpropagationpolicy.karmada.io/name, resourcebinding.karmada.io/namespace, resourcebinding.karmada.io/name, clusterresourcebinding.karmada.io/name, work.karmada.io/namespace, work.karmada.io/name.
  • Added new annotation policy.karmada.io/applied-placement for both ResourceBinding and ClusterResourceBinding resources, to indicate the placement rule.
  • Added Validating Admission Webhook to restrict resource selector change for PropagationPolicy and ClusterPropagationPolicy objects.

Contributors

Thank you to everyone who contributed to this release!

Users whose commits are in this release (alphabetically by user name)

karmada v0.3.0 release

08 Feb 10:08
eb6265a
Compare
Choose a tag to compare

What's New

Support override resources when propagating to member clusters

Users are now able to specify override policies to customize specific resource fields for different clusters. (#130, @RainbowMango, @mrlihanbo)

Support labelselector in cluster affinity

Users are now able to use ClusterAffinity.LabelSelector in PropagationPolicy API to restrict target clusters to when propagating resources. (#149, @mrlihanbo)

Support spread constraints

Users are now able to specify resource spread constraints in propagation policies:

More constraint options will be introduced in the later releases:

  • SpreadByFieldRegion: resource will be spread by region.
  • SpreadByFieldZone: resource will be spread by zone.
  • SpreadByFieldProvider: resource will be spread by cloud providers.

Added webhook components to mutating and validating resources automatically
Introduced new components named karmada-webhook for implementating Mutating and Validationg webhooks. (#133, @RainbowMango)

Other Notable Changes

  • E2E testing time consumption has been significantly reduced. (#119, @mrlihanbo)
  • Provided generic client for operating both Kubernetes and Karmada APIs. (#126, @RainbowMango)
  • The MemberCluster API is now Cluster. (#139, @kevin-wangzefeng)
  • The API group propagationstrategy.karmada.io is now policy.karmada.io. (#142, @kevin-wangzefeng)
  • Supported skip member cluster TLS verification. (#159, @mrlihanbo)
  • Any unexpected modification of resource in member cluster will be amended automatically. (#127, @mrlihanbo)

karmada v0.2.0 release

07 Jan 12:43
c59afde
Compare
Choose a tag to compare
Added scheduler framework and basic functionality(#108)

Signed-off-by: xuzhonghu <[email protected]>

karmada v0.1.0 release

04 Dec 13:30
Compare
Choose a tag to compare
update architecture and concepts

Signed-off-by: Kevin Wang <[email protected]>