github karmada-io/karmada v1.0.0
karmada v1.0.0 release

latest releases: v1.9.1, v1.8.3, v1.10.0-preview4...
2 years ago

What's New

Aggregated Kubernetes API Endpoint

The newly introduced karmada-aggregated-apiserver component aggregates all registered clusters and allows users to access member clusters through Karmada by the proxy endpoint, e.g.

- Retrieve `Node` from `member1`:  /apis/cluster.karmada.io/v1alpha1/clusters/member1/proxy/api/v1/nodes
- Retrieve `Pod` from `member2`: /apis/cluster.karmada.io/v1alpha1/clusters/member2/proxy/api/v1/namespaces/default/pods

Please refer to user guide for more details.

(Feature contributor: @kevin-wangzefeng @GitHubxsy @XiShanYongYe-Chang @mrlihanbo @jrkeen @prodanlabs @carlory @RainbowMango)

Promoting Workloads from Legacy Clusters to Karmada

Legacy workloads running in Kubernetes now can be promoted to Karmada smoothly without container restart.
In favor of promote commands added to Karmada CLI, any kind of Kubernetes resources can be promoted to Karmada easily, e.g.

# Promote deployment(default/nginx) from cluster1 to Karmada
kubectl karmada promote deployment nginx -n default -c cluster1

(Feature contributor: @lonelyCZ @iawia002 @dddddai)

Verified Integration with Ecosystem

Benefiting from the Kubernetes native API support, Karmada can easily integrate the single cluster ecosystem for multi-cluster, multi-cloud purpose. The following components have been verified by the Karmada community:

(Feature contributor: @lfbear @learner0810 @zirain @Rains6 @gy95 @XiShanYongYe-Chang )

OverridePolicy Improvements

By leverage of the new-introduced RuleWithCluster fields to OverridePolicy and ClusterOverridePolicy, users are now able to define override policies with a single policy for specified workloads.

(Feature contributor: @iawia002 @lfbear @RainbowMango @lonelyCZ @jameszhangyukun )

Karmada Installation Improvements

Introduced init command to Karmada CLI. Users are now able to install Karmada by a single command.

Please refer to Installing Karmada for more details.

(Feature contributor: @prodanlabs @lonelyCZ @jrkeen )

Configuring Karmada Controllers

Now all controllers provided by Karmada work as plug-ins. Users are now able to turn off any of them from the default enabled list.
See --controllers flag of karmada-controller-manager and karmada-agent for more details.

(Feature contributor: @snowplayfire @iawia002 @jameszhangyukun )

Resource Interpreter Webhook Enhancement

Introduced ReviseReplica support for the Resource Interpreter Webhook framework, which enables scheduling all customized workloads just like Kubernetes native ones.

Refer to Resource Interpreter Webhook Proposal for more design details.

(Feature contributor: @iawia002)

Other Notable Changes

Bug Fixes

  • karmada-controller-manager: Fixed the issue that the annotation of resource template cannot be updated. (@mrlihanbo #1012)
  • karmada-controller-manager: Fixed the issue of generating binding reference key. (@JarHMJ #1003)
  • karmada-controller-manager: Fixed the inefficiency of en-queue failed task issue. (@Garrybest #1068)

Features & Enhancements

  • Karmada CLI: Introduced --cluster-provider flag to join command to specify provider of joining cluster. (@2hangchen #1025)
  • Karmada CLI: Introduced taint command to set taints for clusters. (@lonelyCZ #889)
  • Karmada CLI: The Applied condition of Work and Scheduled/FullyApplied of ResourceBinding are available for kubectl get. (@lonelyCZ #1110)
  • karmada-controller-manager: The cluster discovery feature now supports v1beta1 of cluster-api. (@iawia002 #1029)
  • karmada-controller-manager: The Job's startTime and completionTime now available at resource template. (@Garrybest #1034)
  • karmada-controller-manager: introduced --controllers flag to enable or disable controllers. (@snowplayfire #1083)
  • karmada-controller-manager: Support retain ownerReference from observed objects. (@snowplayfire #1116)
  • karmada-controller-manager and karmada-agent: Introduced cluster-cache-sync-timeout flag to specify the time waiting for cache sync. (@snowplayfire #1112)

Instrumentation (Metrics and Events)

  • karmada-scheduler-estimator: Introduced /metrics endpoint to emit metrics. (@Garrybest #1030)
  • Introduced ApplyPolicy and ScheduleBinding events for resource template. (@mrlihanbo #1070)

Deprecation

  • The ReplicaSchedulingPolicy API deprecated at v0.9.0 now has been removed in favor of ReplicaScheduling of PropagationPolicy. (@iawia002 #1161)

Contributors

Thank you to everyone who contributed to this release!

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

Don't miss a new karmada release

NewReleases is sending notifications on new releases.