kumahq / kuma

🐻 The multi-zone service mesh for containers, Kubernetes and VMs. Built with Envoy. CNCF Sandbox Project.
https://kuma.io/install
Apache License 2.0
3.67k stars 333 forks source link

Try `MeshLoadBalancingStrategy` with `MeshMultizoneService` #11968

Open bartsmykla opened 2 weeks ago

bartsmykla commented 2 weeks ago

Description

We should try MeshLoadBalancingStrategy with MeshMultizoneService as it should behave differently that we should prioritize local zone instead of prioritizing splitting traffic between all zones.

This is followup for: https://github.com/kumahq/kuma/issues/11966

lukidzi commented 1 week ago

Additionally, we need to ensure that when a user disables locality-aware routing using MeshLoadBalancingStrategy, traffic is properly distributed across zones.

michaelbeaumont commented 1 week ago

we should prioritize local zone instead of prioritizing splitting traffic between all zones.

btw this is already the case

github-actions[bot] commented 1 week ago

Removing closed state labels due to the issue being reopened.

lahabana commented 1 week ago

Fix was reverted in:

lukidzi commented 1 week ago

We have two options to set locality-aware load balancing in Kuma:

  1. Mesh: Locality-Aware Load Balancing
  2. MeshLoadBalancingStrategy (MLBS): Locality Awareness in MLBS

These options allow control over whether traffic should be split across different zones or prioritized within the local zone.

When the locality-aware flag is enabled on the Mesh, traffic for kuma.io/service will remain within the same zone. The same effect occurs with MLBS: when set to true, traffic stays within the local zone. If both sets, MLBS can override it

michaelbeaumont commented 1 week ago

@lahabana @lukidzi do we have any action to take given the above? or can we close this again

Note: The fix was not reverted, instead https://github.com/kumahq/kuma/pull/11987 was the issue

lukidzi commented 1 week ago

I think there is one more thing to try, we should check how we behave by the default (no policy/lb mesh configured)

michaelbeaumont commented 1 week ago

For this we have an e2e test I think right? It's locality aware

lahabana commented 1 week ago

Putting this back in pending so we discuss this

lukidzi commented 1 week ago

lets check if there is a test covering this case and if we can confirm it works as expected, close the issue