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

latest releases: v1.12.0-beta.0, v1.11.2, v1.10.6...
2 years ago

What's New

Multi-Cluster Ingress

The newly introduced MultiClusterIngress API exposes HTTP and HTTPS routes that target multi-cluster services within the Karmada control plane. The specification of MultiClusterIngress is compatible with Kubernetes Ingress.

Traffic routing is controlled by rules defined on the MultiClusterIngress resource, an MultiClusterIngress controller is responsible for fulfilling the ingress. The Multi-Cluster-Nginx Ingress Controller is one of the MultiClusterIngress controller implementations maintained by the community.

(Feature contributors: @GitHubxsy @XiShanYongYe-Chang)

Federated ResourceQuota

The newly introduced FederatedResourceQuota provides constraints that limit total resource consumption per namespace across all clusters. It can limit the number of objects that can be created in a namespace by type, as well as the total amount of compute resources that may be consumed by resources in that namespace.

(Feature contributors: @RainbowMango @XiShanYongYe-Chang)

Configurability improvement for performance tuning

The default number of reconciling workers has been enlarged and configurable. A larger number of workers means higher responsiveness but heavier CPU and network load. The number of concurrent workers could be configured by the flags introduced to karmada-controller-manager and karmada-agent.

Flags introduced to karmada-controller-manager:

  • --concurrent-work-syncs
  • --concurrent-namespace-syncs
  • --concurrent-resource-template-syncs
  • --concurrent-cluster-syncs
  • --concurrent-clusterresourcebinding-syncs
  • --concurrent-resourcebinding-syncs

Flags introduced to karmada-agent:

  • --concurrent-work-syncs
  • --concurrent-cluster-syncs

(Feature contributor: @pigletfly)

Resource Interpreter Webhook Enhancement

Introduced AggregateStatus support for the Resource Interpreter Webhook framework, which enables customized resource status aggregating.

Introduced InterpreterOperationInterpretDependency support for the Resource Interpreter Webhook framework, which enables propagating workload's dependencies automatically.

Refer to Customizing Resource Interpreter for more details.

(Feature contributors: @iawia002 @mrlihanbo)

Other Notable Changes

Bug Fixes

  • karmadactl and kubectl-karmada: Fixed that init cannot update the APIService. (@prodanlabs, #1207)
  • karmada-controller-manager: Fixed ApplyPolicySucceed event type mistake (should be Normal but not Warning). (@Garrybest, #1267)
  • karmada-controller-manager and karmada-agent: Fixed that resync slows down reconciliation. (@Garrybest, #1265)
  • karmada-controller-manager/karmada-agent: Fixed continually updating cluster status due to unordered apiEnablements. (@pigletfly, #1304)
  • karmada-controller-manager: Fixed that Replicas set by OverridePolicy will be reset by the ReviseReplica interpreterhook. (@likakuli, #1352)
  • karmada-controller-manager: Fixed that ResourceBinding couldn't be created in a corner case. (@dddddai, #1368)
  • karmada-scheduler: Fixed inaccuracy in requested resources in the case that pod limits are specified but requests are not. (@Garrybest, #1225)
  • karmada-scheduler: Fixed spreadconstraints[i].MaxGroups is invalidated in some scenarios. (@huone1, #1324)

Features & Enhancements

  • karmadactl: Introduced --tls-min-version flag to specify the minimum TLS version. (@carlory, #1278)
  • karmadactl: Improved the get command to show more useful information. (@lonelyCZ, #1270)
  • karmada-controller-manager/karmada-agent: Introduced --resync-period flag to specify reflector resync period (defaults to 0, meaning no resync). (@Garrybest, #1261)
  • karmada-controller-manager: Introduced --metrics-bind-address flag to specify the customized address for metrics. (@pigletfly, #1341)
  • karmada-webhook: Introduced --metrics-bind-address and --health-probe-bind-address flags. (@mrlihanbo, #1346)

Instrumentation (Metrics and Events)

  • karmada-controller-manager: Fixed ApplyPolicySucceed event type mistake (should be Normal but not Warning). (@Garrybest, #1267)

Deprecation

  • OverridePolicy/ClusterOverridePolicy: The .spec.targetCluster and spec.overriders have been deprecated in favor of spec.overrideRules. (@RainbowMango #1238)
  • karmada-aggregate-apiserver: Deprecated --master and --karmada-config flags. Please use --kubeconfig instead. (@carlory, #1336)

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.