-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Add MetalLB to bare-metal deployment page #3074
Conversation
lgtm. :) |
/hold Some user reported on Slack it was sufficient to set That would be new to me, but let me test. edit: it does indeed work. Now I definitely feel ignorant. I'll add it to the docs and probably remove the section about NodePorts. |
@antoineco the problem with that approach is that you lose the source IP address |
@aledbf the docs mention the userspace proxy, but nowadays iptables is the default (and soon ipvs). Wouldn't the Local |
@antoineco I am not sure because |
@aledbf fair point. Let me do some more extensive testing. I will also mention that limitation in the MetalLB section (which is also another iptables trick on the node 😄) |
I have used externalIP without metallb as well, in production. It works well. That is in additional option to using metallb. the externalIP method has no HA option by itself, nor a way to put the ip on a host unless it is already there. You could add keepalived to do this. metallb will move the ip around in case of failure. |
Same issue, you lose the source IP address. |
Yup. But can be worth it for the HA. You can get close to seamless by using metallb in bgp mode with nginx-ingress with daemonset and the service externalTrafficPolicy=Local. But sticky connections might roll around due to the rehashing. Really, I think currently there is a complete tradeoff between getting seamless rolling upgrades of nginx-ingress and getting external ip's in the logs. You get one or the other. :( |
/hold cancel PR and live preview updated with what we discussed. |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aledbf, antoineco 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 |
What this PR does / why we need it: second part of #3027
Adds a usage example for MetalLB.
Which issue this PR fixes: closes #3055