Skip to content

Releases: karmada-io/karmada

karmada v1.2.7 release

09 Mar 09:44
f7e0cc1

Choose a tag to compare

Changes since v1.2.6

Bug Fixes

  • karmada-controller-manager: Fixed the issue that RBAC resources whose name contains uppercase characters can not be propagated. (#3123, @whitewindmills)

karmada v1.3.4 release

01 Feb 07:17
c30e14d

Choose a tag to compare

Changes since v1.3.3

Bug Fixes

karmada v1.2.6 release

01 Feb 07:10
ae5e32c

Choose a tag to compare

Changes since v1.2.5

Bug Fixes

karmada v1.4.2 release

01 Feb 07:25
5bd15cd

Choose a tag to compare

Changes since v1.4.1

Bug Fixes

  • karmada-controller-manager: Fixed LabelsOverrider and AnnotationsOverrider failed to add new items issue in case of label/annotation is nil. (#2972, @chaunceyjiang)
  • karmada-controller-manager: labelsOverrider/annotationsOverrider supports composed-labels, like testannotation/projectId: . (#3047, @chaunceyjiang)
  • karmadactl: Grant karmada-agent permission to access resourceinterpretercustomizations for init command. (#2986, @jwcesign)
  • karmada-agent: Check if the resource exists before creating it. Sometimes the resource is created in advance, to give less privilege to Karmada. (#3002, @jwcesign)
  • karmada-search: filter out not ready clusters. (#3016, @yanfeng1992)
  • karmada-search: avoid proxy request block when member cluster down. (#3030, @ikaven1024)
  • karmada-webhook: Fixed the issue that the InterpretDependency operation can't be registered. (#3074, @XiShanYongYe-Chang)

karmada v1.3.3 release

15 Dec 09:23
16b39e1

Choose a tag to compare

Changes since v1.3.2

Bug Fixes

  • karmada-scheduler: Fixed a corner case that re-schedule be skipped in case of the cluster becomes not fit. (#2959, @jwcesign)
  • karmada-controller-manager/karmada-agent: Fixed failed to sync work status issue due to the informer being accidentally shut down. (#2938, @Poor12)
  • karmada-controller-manager/karmada-agent: Fixed misjudgment of deployment and statefuleset health status. (#2945, @Fish-pro)
  • karmadactl: Fixed the error of resources whose name contains colons failing to be created when using karmadactl apply. (#2932, @Poor12)
  • karmadactl: Fixed the default ValidatingWebhookConfiguration for resourceinterpreterwebhook not working issue. (#2923, @qingwave)
  • karmadactl: Fixed karmada-agent installed by the register command can not delete works due to lack of permission issue. (#2905, @lonelyCZ)
  • karmada-webhook: Fixed failed to set resource selector default namespace if the relevant OverridePolicy and PropagationPolicy with namespace unset issue. (#2872, @carlory)

Others

karmada v1.4.1 release

15 Dec 09:47
4c56b19

Choose a tag to compare

Changes since v1.4.0

Bug Fixes

  • karmadactl: Fixed karmada-agent installed by the register command can not delete works due to lack of permission issue. (#2904, @lonelyCZ)
  • karmadactl: Fixed the default ValidatingWebhookConfiguration for resourceinterpreterwebhook not working issue. (#2924, @qingwave)
  • karmadactl: Fixed the default ValidatingWebhookConfiguration for resourceinterpretercustomizations not working issue. (#2927, @chaunceyjiang)
  • karmadactl: Fixed the error of resources whose name contains colons failing to be created when using karmadactl apply. (#2931, @Poor12)
  • karmada-controller-manager/karmada-agent: Fixed misjudgment of deployment and statefuleset health status. (#2944, @Fish-pro)
  • karmada-controller-manager/karmada-agent: Fixed failed to sync work status issue due to the informer being accidentally shut down. (#2937, @Poor12)
  • karmada-scheduler: Fixed a corner case that re-schedule be skipped in case of the cluster becomes not fit. (#2955, @jwcesign)

Others

karmada v1.2.5 release

15 Dec 09:07
739d2c3

Choose a tag to compare

Changes since v1.2.4

Bug Fixes

  • karmada-controller-manager/karmada-agent: Fixed failed to sync work status issue due to the informer being accidentally shut down. (#2939, @Poor12)
  • karmadactl: Fixed the error of resources whose name contains colons failing to be created when using karmadactl promote. (#2933, @Poor12)
  • karmadactl: Fixed the default ValidatingWebhookConfiguration for resourceinterpreterwebhook not working issue. (#2922, @qingwave)
  • karmada-webhook: Fixed failed to set resource selector default namespace if the relevant OverridePolicy and PropagationPolicy with namespace unset issue. (#2873, @carlory )

karmada v1.4.0 release

30 Nov 11:59
fe58808

Choose a tag to compare

What's New

Declarative Resource Interpreter

The Interpreter Framework is designed for interpreting the structure of arbitrary resource types. It consists of built-in and customized interpreters, this release introduced another brand-new customized interpreter.

With the newly introduced declarative interpreter, users can quickly customize resource interpreters for both Kubernetes resources and CRD resources by the rules declared in the ResourceInterpreterCustomization API specification. Compared with the interpreter customized by the webhook, it gets the rules from the declarative specifications instead of requiring an additional webhook component.

The new command named interpret in the karmadactl could be used to test the rules before applying them to the system.
Some examples are provided to help users better understand how this interpreter can be used.

(Feature contributor: @jameszhangyukun @ikaven1024 @chaunceyjiang @XiShanYongYe-Chang @RainbowMango)

PropagationPolicy/ClusterPropagationPolicy priority

Users are now able to declare the priorities for both PropagationPolicy and ClusterPropagationPolicy. A policy will be applied for the matched resource templates if there are no other policies with higher priority at the point the resource template be processed.

The system administrator can use priorities to manage and control policies. Refer to Configure PropagationPolicy priority for more details.

(Feature contributor: @Garrybest @jwcesign)

Instrumentation improvement

This release enhanced observability significantly through metrics and events.
The metrics can be queried by the endpoint(/metrics) of each component using an HTTP scrap, and they are served in Prometheus format. Events are reported to the relevant resource objects respectively.

Refer to events and metrics for more details.

(Feature contributor: @Poor12)

Other Notable Changes

API Changes

  • Introduces priority to PropagationPolicy. (#2758, @RainbowMango)
  • Introduced LabelsOverrider and AnnotationsOverrider for overriding labels and annotations.(#2584, @chaunceyjiang)
  • Evoluted PropagateDeps FeatureGate to Beta and enabled it by default. (#2875, @XiShanYongYe-Chang)
  • Evoluted Failover/GracefulEviction FeatureGate to Beta and enabled it by default. (#2876, @jwcesign)
  • Evoluted CustomizedClusterResourceModeling FeatureGate to Beta and enabled it by default. (#2877, @Poor12)

Bug Fixes

  • karmada-search: Fixed concurrent map writes panic while listing objects via proxy. (#2483, @ikaven1024)
  • karmada-search: Fixed the issue that the returned ResourceVersion by proxy was not stable. (#2746, @cmicat)
  • karmada-controller-manager/karmada-agent: Fixed the issue that pod information cannot be collected when building resource summary. (#2489, @Poor12)
  • karmada-controller-manager: Used cluster secret ref namespace in unified-auth-controller when generating a ClusterRoleBinding. (#2516, @XiShanYongYe-Chang)
  • karmada-controller-manager: Fixed the failure of creating resources whose name contains colons. (#2549, @XiShanYongYe-Chang)
  • karmada-controller-manager: Fixed the panic when cluster ImpersonatorSecretRef is nil. (#2675, @stingshen)
  • karmada-controller-manager: Fixed serviceaccount continual regeneration by service account controller. (#2578, @Poor12)
  • karmada-controller-manager: Disabled the preemption matching of pp/cpp priority. (#2734, @XiShanYongYe-Chang)
  • karmada-controller-manager: Fixed the issue that clusterOverridePolicy and overridePolicy with nil resource selector could not work. (#2771, @wuyingjun-lucky)
  • karmada-controlle-managerr: Ignored resources that do not match with a policy before applying the policy. (#2786, @XiShanYongYe-Chang)
  • karmada-agent: Fixed the issue that ServiceExport controller cannot report endpointSlices (due to the missing create permission). (#2515, @lonelyCZ)
  • karmadactl: Fixed init cannot honor IPv6 addresses when generating the kubeconfig file. (#2450, @duanmengkk)
  • karmadactl: Fixed --karmada-data directory was not initialized in init command. (#2548, @jwcesign)
  • karmadactl: Fixed the issue that init commands print incorrect register command. (#2707, @Songjoy)
  • karmadactl: Fixed the issue that the namespace already exists. (#2505, @cleverhu)
  • karmada-webhook: Fixed the failure to set resource selector default namespace when the relevant OverridePolicy and PropagationPolicy are not configured with namespaces. (#2858, @carlory)

Security

  • Security: Added limitReader to io.ReadAll which could limit the memory request and avoid DoS attacks. (#2765, @Poor12)

Features & Enhancements

  • karmadactl: Improved karmada init help output. (#2342, @my-git9)
  • karmadactl: karmadactl prohibits input extra arguments for init command. (#2497, @helen-frank)
  • karmadactl/chart: The init no longer creates redundant ServiceAccounts for components except karmada-agent. (#2523, @carlory)
  • karmadactl: Fixed the issue that options of deinit cannot be shown. (#2540, @helen-frank)
  • karmadactl/chart: If Karmada is installed by using karmadactl or a Helm chart with default configurations, the image tag of karmada-kube-controller-manager/karmada-apiserver will be kube-controller-manager:v1.25.2/kube-apiserver:v1.25.2. (#2539, @jwcesign)
  • karmadactl: Introduced --karmada-apiserver-advertise-address flag to specify Karmada APIserver's address to the init sub-command. (#2550, @wuyingjun-lucky)
  • karmadactl: Introduced --enable-cert-rotation option to register commands. (#2596, @lonelyCZ)
  • karmadactl: Added dryrun for uncordon. (#2760, @helen-frank)
  • karmadactl: Added validation on cluster existence for karmadactl get. (#2787, @helen-frank)
  • karmadactl: Added liveness probe into the kube-controller-manager component. (#2817, @carlory)
  • karmadactl: Added --image-registry flags for init. (#2655, @helen-frank)
  • karmadactl: Added interpreter command for resource interpretation customizations. (#2750, @ikaven1024)
  • karmadactl: Added execute mod for the interpret command. (#2824, @ikaven1024)
  • karmada-search: Objects returned by proxy will have resource.karmada.io/cached-from-cluster annotation to indicate which member cluster it comes from. (#2469, @ikaven1024)
  • karmada-search: Users can get the real resource request metrics while using the proxy. (#2481, @ikaven1024)
  • karmada-search: Users now can use --disable-search and --disable-proxy options to disable search and proxy features (both enabled by default). (#2650, @ikaven1024)
  • karmada-controller-manager: Added implicit priority for PropagationPolicy. (#2267, @Garrybest)
  • karmada-controller-manager: Introduced resource label namespace.karmada.io/skip-auto-propagation: "true" for namespaces that should be skipped from auto propagation. (#2696, @jwcesign)
  • karmada-controller-manager: Allowed users to update the .spec.resourceSelectors field of PropagationPolicy/ClusterPropagationPolicy. (#2562, @XiShanYongYe-Chang)
  • karmada-controller-manager`: Introduced priority to PropagationPolicy. (#2767, @jwcesign)
  • karmada-scheduler-estimator: Leveraged scheduler cache to estimate replicas. (#2704, @Garrybest)
  • `karmada-controller...
Read more

karmada v1.3.2 release

24 Nov 03:00
a79d18c

Choose a tag to compare

Changes since v1.3.1

Bug Fixes

  • karmada-controller-manager: Fixed the panic when cluster ImpersonatorSecretRef is nil. (#2690, @stingshen)
  • karmada-controller-manager: Disable the preemption matching of pp/cpp priority. (#2738, @XiShanYongYe-Chang)
  • karmada-controller-manager: Fix clusterOverridePolicy and overridePolicy with nil resource selector could not work. (#2788, @wuyingjun-lucky)
  • karmada-controller-manager: ignore resource that does not match the policy before applying the policy. (#2813, @XiShanYongYe-Chang)
  • HelmChart: Fixed liveness probe misconfiguration which caused kube-controller-manager to always CrashLoopBackup. (#2836, @calvin0327)
  • karmadactl: Fixed init commands print incorrect register command issue. (#2744, @Songjoy)
  • karmada-search: Fixed returned ResourceVersion by proxy not stable issue. (#2816, @cmicat)

Others

  • Security: Add limitReader to io.ReadAll which could limit the memory request and avoid DoS attacks. (#2774, @Poor12)
  • Karmada(v1.3) is now built with Go1.18.8. (#2852, @RainbowMango)

karmada v1.2.4 release

24 Nov 02:33
f3b7f75

Choose a tag to compare

Changes since v1.2.3

Bug Fixes

  • karmada-controller-manager: Fixed the panic when cluster ImpersonatorSecretRef is nil. (#2691, @stingshen)
  • karmada-controller-manager: Disable the preemption matching of pp/cpp priority. (#2739, @XiShanYongYe-Chang)
  • karmada-controller-manager: Fix clusterOverridePolicy and overridePolicy with nil resource selector could not work. (#2798, @wuyingjun-lucky)
  • karmada-controller-manager: ignore resource that does not match the policy before applying the policy. (#2814, @XiShanYongYe-Chang)
  • Security: Add limitReader to io.ReadAll which could limit the memory request and avoid DoS attacks. (#2775, @Poor12)
  • Karmada(v1.2) is now built with Go1.17.13. (#2853, @RainbowMango)