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

More corner cases with iptables proxy #12764

Merged
merged 9 commits into from
Aug 18, 2015

Conversation

thockin
Copy link
Member

@thockin thockin commented Aug 15, 2015

Node ports
Set sysctls
Cleanup rules code
Faster sync at startup
Better logging

DNAT back to self doesn't quite work yet because we need to enable hairpin mode on the bridge, and that has to be done interface-by-interface (sigh). Will keep hunting for a better answer there.

This needs SERIOUS e2e testing. I have a very manual battery of tests I have been running, which is a good starting place.

@BenTheElder @ArtfulCoder

@BenTheElder
Copy link
Member

Read through current last commit (thockin@23a3ab8).
LGTM

@k8s-bot
Copy link

k8s-bot commented Aug 15, 2015

GCE e2e build/test passed for commit 23a3ab8355eb48317dc2860a394ba76b5001a473.

@thockin thockin force-pushed the proxy-nodeports branch 2 times, most recently from be9a28c to c4e2c83 Compare August 16, 2015 00:27
@k8s-bot
Copy link

k8s-bot commented Aug 16, 2015

GCE e2e build/test passed for commit be9a28ca34ebf46c76fcb6000f96684dfdb4332a.

@k8s-bot
Copy link

k8s-bot commented Aug 16, 2015

GCE e2e build/test passed for commit c4e2c83f304966d7042819cd80ab512104856912.

@thockin thockin mentioned this pull request Aug 16, 2015
@k8s-bot
Copy link

k8s-bot commented Aug 16, 2015

GCE e2e build/test passed for commit 392c340c852747e6f372ab9d82aeeb10e1ba4998.

@k8s-bot
Copy link

k8s-bot commented Aug 16, 2015

GCE e2e build/test passed for commit 35dd764ce77dbcbc0be77f74775c00bbf0770588.

@k8s-bot
Copy link

k8s-bot commented Aug 17, 2015

GCE e2e build/test passed for commit e93a7340c74cef99f7d78c1c5e5d45e84568ca72.

@k8s-bot
Copy link

k8s-bot commented Aug 17, 2015

GCE e2e build/test passed for commit b55b1b400d34582c0ccf76cad969c4cccad7f1dd.

args = append(args,
"-m", "statistic",
"--mode", "random",
"--probability", fmt.Sprintf("%f", 1.0/float64(n-i)))
Copy link
Contributor

Choose a reason for hiding this comment

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

(discussed offline)
we should probably restrict decimal length

Copy link
Member Author

Choose a reason for hiding this comment

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

Done in next push

On Mon, Aug 17, 2015 at 4:30 PM, Abhi Shah [email protected] wrote:

In pkg/proxy/iptables/proxier.go
#12764 (comment)
:

        }
  •       if i < (n - 1) {
    
  •           // Each rule is a probabilistic match.
    
  •           args = append(args,
    
  •               "-m", "statistic",
    
  •               "--mode", "random",
    
  •               "--probability", fmt.Sprintf("%f", 1.0/float64(n-i)))
    

(discussed offline)
we should probably restrict decimal length


Reply to this email directly or view it on GitHub
https://github.com/kubernetes/kubernetes/pull/12764/files#r37249463.

@thockin
Copy link
Member Author

thockin commented Aug 18, 2015

Issues fixed, new push is up. This needs e2e before it can be activated but I'd like to merge it ASAP.

@k8s-bot
Copy link

k8s-bot commented Aug 18, 2015

GCE e2e build/test failed for commit 6f34be3.

@thockin
Copy link
Member Author

thockin commented Aug 18, 2015

@k8s-bot test this please

@k8s-bot
Copy link

k8s-bot commented Aug 18, 2015

GCE e2e build/test passed for commit 6f34be3.

@ArtfulCoder ArtfulCoder added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 18, 2015
@ArtfulCoder
Copy link
Contributor

LGTM

roberthbailey added a commit that referenced this pull request Aug 18, 2015
More corner cases with iptables proxy
@roberthbailey roberthbailey merged commit c45747b into kubernetes:master Aug 18, 2015
@BenTheElder
Copy link
Member

Whoo!
On Aug 18, 2015 12:14 PM, "Robert Bailey" [email protected] wrote:

Merged #12764 #12764.


Reply to this email directly or view it on GitHub
#12764 (comment).

@BenTheElder
Copy link
Member

So we still need hairpin mode, anything else?

@thockin
Copy link
Member Author

thockin commented Aug 18, 2015

hairpin mode (hairy)
maybe load more kernel modules (just need to understand why)
maybe add "always masq" mode as a flag (easy)
hold node ports open (in progress)

Not sure what else. If you have extra bandwidth, you could do the "always
masq" mode. Is there more to do?

On Tue, Aug 18, 2015 at 9:18 AM, Benjamin Elder [email protected]
wrote:

So we still need hairpin mode, anything else?


Reply to this email directly or view it on GitHub
#12764 (comment)
.

@BenTheElder
Copy link
Member

I'll take a look at the always masq flag this afternoon. As far as I know
that sounds like it, except maybe this:
d2iq-archive/kubernetes-mesos#353 (comment)

On Tue, Aug 18, 2015 at 12:25 PM, Tim Hockin [email protected]
wrote:

hairpin mode (hairy)
maybe load more kernel modules (just need to understand why)
maybe add "always masq" mode as a flag (easy)
hold node ports open (in progress)

Not sure what else. If you have extra bandwidth, you could do the "always
masq" mode. Is there more to do?

On Tue, Aug 18, 2015 at 9:18 AM, Benjamin Elder [email protected]
wrote:

So we still need hairpin mode, anything else?


Reply to this email directly or view it on GitHub
<
#12764 (comment)

.


Reply to this email directly or view it on GitHub
#12764 (comment)
.

@thockin
Copy link
Member Author

thockin commented Aug 18, 2015

yeah, maybe. It's P2 or P3 to me. The other thing we could use is better
e2e testing of this new mode. That's a non-trivial undertaking. I'm happy
to consume more of your time, but I know you're back in school...

On Tue, Aug 18, 2015 at 9:32 AM, Benjamin Elder [email protected]
wrote:

I'll take a look at the always masq flag this afternoon. As far as I know
that sounds like it, except maybe this:

d2iq-archive/kubernetes-mesos#353 (comment)

On Tue, Aug 18, 2015 at 12:25 PM, Tim Hockin [email protected]
wrote:

hairpin mode (hairy)
maybe load more kernel modules (just need to understand why)
maybe add "always masq" mode as a flag (easy)
hold node ports open (in progress)

Not sure what else. If you have extra bandwidth, you could do the "always
masq" mode. Is there more to do?

On Tue, Aug 18, 2015 at 9:18 AM, Benjamin Elder <
[email protected]>
wrote:

So we still need hairpin mode, anything else?


Reply to this email directly or view it on GitHub
<

#12764 (comment)

.


Reply to this email directly or view it on GitHub
<
#12764 (comment)

.


Reply to this email directly or view it on GitHub
#12764 (comment)
.

@BenTheElder
Copy link
Member

Yeah, I'll see if I can get a bit more done early this week before i get
really busy and GSoC ends. So far it's mostly syllabi and realizing I
need to review a few things. Should have time at least to knock out always
masq mode.

On Tue, Aug 18, 2015 at 12:36 PM, Tim Hockin [email protected]
wrote:

yeah, maybe. It's P2 or P3 to me. The other thing we could use is better
e2e testing of this new mode. That's a non-trivial undertaking. I'm happy
to consume more of your time, but I know you're back in school...

On Tue, Aug 18, 2015 at 9:32 AM, Benjamin Elder [email protected]
wrote:

I'll take a look at the always masq flag this afternoon. As far as I know
that sounds like it, except maybe this:

d2iq-archive/kubernetes-mesos#353 (comment)

On Tue, Aug 18, 2015 at 12:25 PM, Tim Hockin [email protected]
wrote:

hairpin mode (hairy)
maybe load more kernel modules (just need to understand why)
maybe add "always masq" mode as a flag (easy)
hold node ports open (in progress)

Not sure what else. If you have extra bandwidth, you could do the
"always
masq" mode. Is there more to do?

On Tue, Aug 18, 2015 at 9:18 AM, Benjamin Elder <
[email protected]>
wrote:

So we still need hairpin mode, anything else?


Reply to this email directly or view it on GitHub
<

#12764 (comment)

.


Reply to this email directly or view it on GitHub
<

#12764 (comment)

.


Reply to this email directly or view it on GitHub
<
#12764 (comment)

.


Reply to this email directly or view it on GitHub
#12764 (comment)
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm "Looks good to me", indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants