Skip to content

Use ServiceTrafficDistribution to make Services topology-aware when runtime Kubernetes >= 1.31 #11178

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

Merged

Conversation

ialidzhikov
Copy link
Member

@ialidzhikov ialidzhikov commented Jan 15, 2025

How to categorize this PR?

/area networking
/area high-availability
/kind enhancement

What this PR does / why we need it:
This PR is based on @dergeberl's work in #10973. The topic was worked on during Gardener Hackathon 2024/2.

Which issue(s) this PR fixes:
Part of #10421

Special notes for your reviewer:
N/A

Release note:

The [`ServiceTrafficDistribution`](https://kubernetes.io/docs/reference/networking/virtual-ips/#traffic-distribution) feature is being used on to make Services topology-aware when the runtime Kubernetes version is 1.31+.
The `github.com/gardener/gardener/pkg/utils/gardener.ReconcileTopologyAwareRoutingMetadata` func in deperecated in favor of `github.com/gardener/gardener/pkg/utils/gardener.ReconcileTopologyAwareRoutingSettings`.

Copy link
Contributor

gardener-prow bot commented Jan 15, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@gardener-prow gardener-prow bot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. area/networking Networking related area/high-availability High availability related kind/enhancement Enhancement, improvement, extension labels Jan 15, 2025
@gardener-prow gardener-prow bot added cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jan 15, 2025
@gardener-prow gardener-prow bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 20, 2025
@ialidzhikov ialidzhikov force-pushed the enh/service-traffic-distribution branch from 6b5c72f to 9885f4a Compare January 22, 2025 08:35
@gardener-prow gardener-prow bot added cla: no Indicates the PR's author has not signed the cla-assistant.io CLA. cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. cla: no Indicates the PR's author has not signed the cla-assistant.io CLA. labels Jan 22, 2025
This was referenced Jan 22, 2025
@ialidzhikov
Copy link
Member Author

@ialidzhikov Could you rebase this PR? Is there anything missing otherwise, or could we review and merge this PR?

Yes, I have to rebase, I know, and it is my list for this week.

Otherwise, it can be reviewed, of course.

@ialidzhikov ialidzhikov force-pushed the enh/service-traffic-distribution branch from bb1007f to 4564223 Compare March 4, 2025 14:49
@gardener-prow gardener-prow bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Mar 4, 2025
@ialidzhikov ialidzhikov force-pushed the enh/service-traffic-distribution branch from 4564223 to f764674 Compare March 4, 2025 15:04
@gardener-prow gardener-prow bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 4, 2025
@ialidzhikov ialidzhikov force-pushed the enh/service-traffic-distribution branch from f764674 to be209b2 Compare March 4, 2025 15:13
@ialidzhikov
Copy link
Member Author

Yes, I have to rebase, I know, and it is my list for this week.

I finally managed to rebase the PR. Sorry for the long delay.

@ialidzhikov
Copy link
Member Author

/retest-required

@timuthy
Copy link
Member

timuthy commented Mar 11, 2025

/assign

ialidzhikov and others added 4 commits March 11, 2025 10:32
…untime Kubernetes version >= 1.31

Co-authored-by: Maximilian Geberl <maximilian.geberl@stackit.cloud>
@ialidzhikov ialidzhikov force-pushed the enh/service-traffic-distribution branch from be209b2 to 027a023 Compare March 11, 2025 08:33
@ialidzhikov
Copy link
Member Author

I did a no-op rebase to be able to debug the failing e2e test in reproducible manner.

Copy link
Member

@timuthy timuthy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the adjustments 🙂

Apart from the feedback in the comments, could you enhance the GRM documentation here and explain that ServiceTrafficDistribution is usually used for clusters running Kubernetes 1.31 and higher (maybe refer to docs/operations/topology_aware_routing.md).

@ialidzhikov ialidzhikov requested a review from timuthy March 11, 2025 14:31
Copy link
Member

@timuthy timuthy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!
/lgtm
/approve

@gardener-prow gardener-prow bot added the lgtm Indicates that a PR is ready to be merged. label Mar 12, 2025
Copy link
Contributor

gardener-prow bot commented Mar 12, 2025

LGTM label has been added.

Git tree hash: 6b696a2c3c4c3c95f0f639a85c810a5d1a62236e

Copy link
Contributor

gardener-prow bot commented Mar 12, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: timuthy

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@gardener-prow gardener-prow bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 12, 2025
@ialidzhikov
Copy link
Member Author

  [FAILED] Timed out after 10.001s.
  Expected
      <nil>: nil
  to be NotFound error
  In [It] at: /home/prow/go/src/github.com/gardener/gardener/test/integration/gardenlet/seed/seed/seed_test.go:716 @ 03/12/25 11:52:38.507

/test pull-gardener-integration

@gardener-prow gardener-prow bot merged commit 9f78a77 into gardener:master Mar 12, 2025
19 checks passed
@ialidzhikov ialidzhikov deleted the enh/service-traffic-distribution branch March 13, 2025 06:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/high-availability High availability related area/networking Networking related cla: yes Indicates the PR's author has signed the cla-assistant.io CLA. kind/enhancement Enhancement, improvement, extension lgtm Indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants