-
Notifications
You must be signed in to change notification settings - Fork 67
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
EdgeCase: docker-mailserver on bare-metal kubernetes with metallb as loadbalancer #136
Comments
You should increase the amount of ip-adresses in your pool. Since it's LAN, there's no reason to limit yourself to 1 IP. |
How would I do that? My understanding is, that 10.0.0.20 is the only local IP address that gets natted out. Unfortunately I cannot set wich IP is natted, as it is handled by the cloud provider for me. So increasing the pool would result in most services not being reachable from the internet, except of those that are bound to 10.0.0.20. Or am I missing something here? |
You didn't include that information in your original post. Unfortunately there's no way to bind to a port twice on the same IP. |
Whops, sorry for that. Fore sure you cannot bind the same port twice to the same IP. But there is no other service running that uses these ports. I can deploy the helm chart without any problem, but the service itself cannot connect to the outside world because of the externalTrafficPolicy. |
Ah I misunderstood the issue. From what I can tell this is a hard limitation: metallb/metallb#271 (comment) |
Ah, too bad. But thanks a lot for linking the issue in metallb :) |
Hi there!
I know my scenario is kind of an edge-case, but maybe someone can help me. I am running Kubernetes on bare metal as a single node cluster. The machine itself has one public IP natted to its private IP address (e.g. 1.2.3.4 is natted to 10.0.0.20). Thus, my metallb ipaddresspool looks like this:
This works fine for all applications that use a service of type LoadBalancer with
externalTrafficPolicy: Cluster
, but this is of course not working for docker-mailserver, as it requires theLocal
externalTrafficPolicy. Since I only have one public IP available in my metallb Pool, I need to use certain metallb annotations (allow-shared-ip) to share the IP between services:But since the externalTrafficPolicy is required to be local for docker-mailserver, this conflicts with sharing the IP. Has anybody an idea how I can solve that situation?
The text was updated successfully, but these errors were encountered: