Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Feature request: Please make NO_MASQ_LOCAL=1 the default setting #3389

Closed
jeroenjacobs79 opened this issue Aug 31, 2018 · 7 comments · Fixed by #3756
Closed

Feature request: Please make NO_MASQ_LOCAL=1 the default setting #3389

jeroenjacobs79 opened this issue Aug 31, 2018 · 7 comments · Fixed by #3756

Comments

@jeroenjacobs79
Copy link

jeroenjacobs79 commented Aug 31, 2018

Please make NO_MASQ_LOCAL=1 the default setting.

People expect that "ExternalTrafficPolicy: Local" behaves as described by the Kubernetes documentation. This currently not the case with Weave, which causes confusion. I lost hours troubleshooting why ExternalTrafficPolicy was not working as expected, and it was only due to pure luck and some creative googling that I discovered the problem was caused by Weave.

While some might argue that NO_MASQ_LOCAL is mentioned in the release notes of 2.4.0, It feels wrong that you need extra config parameters to make Weave work in a way that is compliant with the standard.

@brb
Copy link
Contributor

brb commented Sep 3, 2018

@jeroenjacobs1205 Thanks for the issue. We will discuss, and maybe make it the default.

Noting that the setting is documented at https://www.weave.works/docs/net/latest/kubernetes/kube-addon/ which I always recommend to read before installing Weave Net on Kubernetes.

@RRAlex
Copy link

RRAlex commented Sep 5, 2018

@jeroenjacobs1205 had anything else to do to make it work?
I can't get this to work with both NO_MASQ_LOCAL and ExternalTrafficPolicy: Local...

@brb
Copy link
Contributor

brb commented Sep 6, 2018

@RRAlex please open a separate issue.

@dnavre
Copy link

dnavre commented Apr 22, 2019

Lost 2 days on this stuff. Indeed, please make this the default.

@cbabs
Copy link

cbabs commented May 30, 2019

I agree. Needs to be default. It follows the service intended state. Without it's like ordering fries(DNAT only) with your burger, but the chef gives you a salad(SNAT). Oh, you actually wanted the fries you ordered? Why didnt you say so?! :)

@virtualdxs
Copy link

I'm wondering, is there any specific reason this isn't the default? Does this being on break something else, or cause something to behave unexpectedly?

@bboreham
Copy link
Contributor

is there any specific reason this isn't the default? Does this being on break something else

It's hard to know what will break when you change something that has been installed 200 million times, so the general tendancy is to make changes optional.
For instance NO_MASQ_LOCAL relies on ipset support so will break on a kernel without that, and it's more expensive at runtime.

However #3756 will change the default in our published Kubernetes configs.

@bboreham bboreham added this to the 2.7 milestone Aug 4, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants