Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(kuma-cp): added locality aware lb for external service #4048

Merged
merged 9 commits into from Mar 31, 2022

Conversation

lukidzi
Copy link
Contributor

@lukidzi lukidzi commented Mar 25, 2022

Summary

Added possibility to route traffic to external services in multizone setup.
When localityawareloadbalancing is enabled and zoneegress, and external service
label kuma.io/zone: xxx traffic to the external service will be routed through
the zone where the external service belongs to.

The feature works when routing.localityawareloadbalancing and routing.zoneEgress enabled and
ExternalService needs to have a tag kuma.io/zone.

Full changelog

  • [Implement] ingress exposing external services that are specific to the zone

Issues resolved

Fix #3901

Documentation

Testing

  • Unit tests
  • E2E tests
  • Manual testing on Universal
  • Manual testing on Kubernetes

Backwards compatibility

  • Update UPGRADE.md with any steps users will need to take when upgrading.
  • Add backport-to-stable label if the code follows our backporting policy

Changelog: feat(zoneegress): added locality aware lb for external service

Added possibility to route traffic to external services in multizone setup.
When localityawareloadbalancing is enabled and zoneegress, and external service
label kuma.io/zone: xxx traffic to the external service will be routed through
zone where the external service belongs to.

Signed-off-by: Łukasz Dziedziak <lukidzi@gmail.com>
Signed-off-by: Łukasz Dziedziak <lukidzi@gmail.com>
@lukidzi lukidzi requested a review from a team as a code owner March 25, 2022 21:54
@codecov-commenter
Copy link

codecov-commenter commented Mar 25, 2022

Codecov Report

Merging #4048 (cf3697c) into master (cd39b7c) will increase coverage by 0.00%.
The diff coverage is 49.54%.

@@           Coverage Diff            @@
##           master    #4048    +/-   ##
========================================
  Coverage   56.06%   56.06%            
========================================
  Files         919      920     +1     
  Lines       55169    55468   +299     
========================================
+ Hits        30931    31099   +168     
- Misses      21795    21918   +123     
- Partials     2443     2451     +8     
Impacted Files Coverage Δ
api/mesh/v1alpha1/dataplane_helpers.go 86.02% <ø> (ø)
...kg/core/resources/apis/mesh/zone_egress_helpers.go 25.00% <0.00%> (-2.50%) ⬇️
pkg/xds/bootstrap/generator.go 58.49% <ø> (ø)
pkg/xds/sync/egress_proxy_builder.go 0.00% <0.00%> (ø)
pkg/xds/sync/ingress_proxy_builder.go 0.00% <0.00%> (ø)
test/framework/config.go 29.78% <ø> (ø)
test/framework/interface.go 0.00% <0.00%> (ø)
test/framework/k8s_cluster.go 0.00% <0.00%> (ø)
test/framework/k8s_clusters.go 0.00% <0.00%> (ø)
test/framework/universal_cluster.go 0.00% <0.00%> (ø)
... and 26 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd39b7c...cf3697c. Read the comment docs.

Signed-off-by: Łukasz Dziedziak <lukidzi@gmail.com>
pkg/xds/sync/ingress_proxy_builder.go Outdated Show resolved Hide resolved
pkg/xds/sync/ingress_proxy_builder.go Outdated Show resolved Hide resolved
pkg/xds/ingress/outbound.go Outdated Show resolved Hide resolved
test/framework/interface.go Outdated Show resolved Hide resolved
pkg/xds/topology/outbound.go Outdated Show resolved Hide resolved
pkg/xds/topology/outbound.go Outdated Show resolved Hide resolved
pkg/core/resources/apis/mesh/zone_egress_helpers.go Outdated Show resolved Hide resolved
pkg/xds/generator/egress/internal_services_generator.go Outdated Show resolved Hide resolved
pkg/xds/sync/egress_proxy_builder.go Outdated Show resolved Hide resolved
Signed-off-by: Łukasz Dziedziak <lukidzi@gmail.com>
Signed-off-by: Łukasz Dziedziak <lukidzi@gmail.com>
Signed-off-by: Łukasz Dziedziak <lukidzi@gmail.com>
lukidzi and others added 2 commits March 31, 2022 07:32
Signed-off-by: Łukasz Dziedziak <lukidzi@gmail.com>
Signed-off-by: Jakub Dyszkiewicz <jakub.dyszkiewicz@gmail.com>
test/framework/k8s_clusters.go Outdated Show resolved Hide resolved
Signed-off-by: Łukasz Dziedziak <lukidzi@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Externalservice on ZoneEgress should respect localityAwareLoadBalancing behaviour
3 participants