Skip to content

feat(services): support ipMode Proxy for LoadBalancer ingresses#2017

Merged
catherinetcai merged 1 commit intocloudnativelabs:masterfrom
1fabi0:feature_kep-1860
Apr 1, 2026
Merged

feat(services): support ipMode Proxy for LoadBalancer ingresses#2017
catherinetcai merged 1 commit intocloudnativelabs:masterfrom
1fabi0:feature_kep-1860

Conversation

@1fabi0
Copy link
Copy Markdown
Contributor

@1fabi0 1fabi0 commented Mar 9, 2026

This implements support for KEP-1860. When a LoadBalancer ingress has ipMode set to 'Proxy', kube-router will skip adding the IP to the local IPVS table and will not hijack the traffic. If ipMode is 'VIP' or unset, the current behavior is maintained.

Fixes #2014

@1fabi0
Copy link
Copy Markdown
Contributor Author

1fabi0 commented Mar 9, 2026

I missed to stash a file after I changed it. I am going to correct that

@aauren aauren requested a review from catherinetcai March 23, 2026 00:16
@aauren
Copy link
Copy Markdown
Collaborator

aauren commented Mar 23, 2026

@1fabi0 Thanks for the contribution. It would be nice to be compliant with KEP-1860 and it looks like it wouldn't take too much to get there. From that point of view this PR looks pretty straight forward.

However, it looks like we've changed underneath you so that your PR is no longer merge-able. Additionally, it looks like your work doesn't yet pass our linting and testing.

If you could rebase your work on the current master branch, and then run make in the project and clean up the linting / testing errors, that should be good enough for us to actually review this as a next step. I've tagged @catherinetcai to see if she has time to take a look once those steps are satisfied.

@1fabi0 1fabi0 force-pushed the feature_kep-1860 branch from 5e20647 to 33d02d9 Compare March 24, 2026 15:39
This implements support for KEP-1860. When a LoadBalancer ingress has ipMode set to 'Proxy', kube-router will skip adding the IP to the local IPVS table and will not hijack the traffic. If ipMode is 'VIP' or unset, the current behavior is maintained.

Fixes cloudnativelabs#2014
@1fabi0 1fabi0 force-pushed the feature_kep-1860 branch from 33d02d9 to 421fd43 Compare March 24, 2026 15:58
@1fabi0
Copy link
Copy Markdown
Contributor Author

1fabi0 commented Mar 24, 2026

@aauren Thank you for the feedback! Since I don’t normally work with Go, I'm still getting used to the tooling. I missed the formatting step initially, which is why I did a couple of force pushes to fix it, I hope that’s alright.

Also, make is showing me the following error: kube-router_test.go:53: docs/user-guide.md 'command line options' section does not match 'kube-router --help'. I haven't made any changes related to the command-line options, so I assume this is unrelated to my PR. Let me know if this is a blocker or if I need to do anything about it.

Thanks
Fabian

Copy link
Copy Markdown
Collaborator

@catherinetcai catherinetcai left a comment

Choose a reason for hiding this comment

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

Hey @1fabi0, sorry for the delay. These changes look good to go. Great job!

I wasn't able to replicate the issue that came up for you when you ran make. Everything runs as expected if I pull your branch.

I also built and ran your branch in a Kind cluster running both MetalLB (LBs with IP mode VIP) + cloud-provider-kind (LBs with IP mode proxy) and validated that kube-router skips adding the IP for IP mode proxy LBs.

@catherinetcai catherinetcai merged commit a051e0e into cloudnativelabs:master Apr 1, 2026
7 checks passed
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.

Add support for ipmode field of loadbalancers

3 participants