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

Dualstack support for Loadbalancer Services #687

Merged
merged 2 commits into from
Dec 22, 2023

Conversation

flawedmatrix
Copy link
Contributor

As a preliminary step towards dualstack support, I've made some changes to allow handling the case where the field metadata.annotations["kube-vip.io/loadbalancerIPs"] has multiple IPs.

Right now, there are some cases where I couldn't quite figure out the best UX for multiple loadbalancer IPs for a single service, so for now I'm only supporting dualstack LoadBalancer services in the EnableARP configuration of kube-vip and leaving cases like DHCP, EnableBGP, and uPnP as supporting only one LoadBalancer IP per service. Also egress only supports the first IP in the list of loadbalancer IPs.

I think I'd like to do some more cleanup for this PR, but I've added a test for a dualstack LoadBalancer service and it passes now:

time="2023-12-16T04:02:44Z" level=info msg="🧪 ---> testing dualstack loadbalancer service <---"
time="2023-12-16T04:02:44Z" level=info msg="📝 created deployment [kube-vip-deploy]"
time="2023-12-16T04:02:44Z" level=info msg="🌍 creating service [kube-vip-service]"
time="2023-12-16T04:02:44Z" level=info msg="🔎 found load balancer addresses [[172.18.255.250 fc00:f853:ccd:e793:ffff:ffff:ffff:fffa]] on node [services-worker2]"
time="2023-12-16T04:02:44Z" level=info msg="🕷️  testing HTTP request against [172.18.255.250]"
time="2023-12-16T04:02:47Z" level=info msg="🕸️  successfully retrieved web data in [2s]"
time="2023-12-16T04:02:47Z" level=info msg="🕷️  testing HTTP request against [fc00:f853:ccd:e793:ffff:ffff:ffff:fffa]"
time="2023-12-16T04:02:49Z" level=info msg="🕸️  successfully retrieved web data in [1s]"
time="2023-12-16T04:02:49Z" level=info msg="🧹 deleting Service [kube-vip-service], deployment [kube-vip-deploy]"

@thebsdbox
Copy link
Collaborator

Wow, this is incredible! (Thank you ever so much for this piece of work)

@thebsdbox
Copy link
Collaborator

Looks good to me, is there anything additional that is needed?

Signed-off-by: Edwin Xie <exie@vmware.com>
Signed-off-by: Edwin Xie <exie@vmware.com>
@flawedmatrix flawedmatrix marked this pull request as ready for review December 19, 2023 18:56
@flawedmatrix
Copy link
Contributor Author

Thanks for the comment! I wanted to do a final glance-over to make sure I didn't miss anything, but I think this PR is good to go now.

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.

None yet

2 participants