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

clean up iptables/ipvs proxy mode descriptions a bit #44110

Merged
merged 3 commits into from
Dec 1, 2023

Conversation

danwinship
Copy link
Contributor

Noticed while adding the nftables documentation.

filing this against dev-1.29 because @sftim said to but nothing in here is new in 1.29.

The iptables kube-proxy documentation notes that it has "lower system
overhead", but doesn't mention what it's lower than; it's talking
about the userspace proxy, which no longer exists, and which no
current documentation readers would think to compare the iptables
proxy mode to.

Likewise, there is no point in explaining how iptables mode endpoint
selection differs from userspace mode endpoint selection, because the
iptables mode behaves in the way that everyone would consider normal.
It was the userspace proxy that was weird, and so we had to document
the *change* in behavior when we introduced the iptables proxy, but
there's no reason to keep documenting "we don't do something you
wouldn't have expected us to do" now.
@k8s-ci-robot k8s-ci-robot added this to the 1.29 milestone Nov 27, 2023
Copy link

netlify bot commented Nov 27, 2023

👷 Deploy Preview for kubernetes-io-vnext-staging processing.

Name Link
🔨 Latest commit d5c5300
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-vnext-staging/deploys/656a07b19412c50008e0baee

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Nov 27, 2023
@k8s-ci-robot k8s-ci-robot added the language/en Issues or PRs related to English language label Nov 27, 2023
@k8s-ci-robot k8s-ci-robot requested a review from tengqm November 27, 2023 20:37
@k8s-ci-robot k8s-ci-robot added sig/docs Categorizes an issue or PR as relevant to SIG Docs. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Nov 27, 2023
@Shubham82
Copy link
Contributor

/sig network

@k8s-ci-robot k8s-ci-robot added the sig/network Categorizes an issue or PR as relevant to SIG Network. label Nov 28, 2023
Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

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

My thoughts - hope these make sense?

content/en/docs/reference/networking/virtual-ips.md Outdated Show resolved Hide resolved
content/en/docs/reference/networking/virtual-ips.md Outdated Show resolved Hide resolved
content/en/docs/reference/networking/virtual-ips.md Outdated Show resolved Hide resolved
content/en/docs/reference/networking/virtual-ips.md Outdated Show resolved Hide resolved
content/en/docs/reference/networking/virtual-ips.md Outdated Show resolved Hide resolved
@@ -266,7 +255,7 @@ the node before starting kube-proxy.

When kube-proxy starts in IPVS proxy mode, it verifies whether IPVS
kernel modules are available. If the IPVS kernel modules are not detected, then kube-proxy
falls back to running in iptables proxy mode.
will exit with an error.
Copy link
Contributor

@sftim sftim Nov 29, 2023

Choose a reason for hiding this comment

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

Suggested change
will exit with an error.
exits with an error. Kubernetes does offer you some features that you can use to help
with that; for example, you can define an
{{< glossary_tooltip text="init container" term_id="init-container" >}} that ensures the relevant
modules are loaded before starting the container for `kube-proxy`.

?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's a separate thing really; this is about if you try to run the ipvs proxy on a system that doesn't have the relevant kernel modules available at all. (Like if you try to specify a fancy new ipvs scheduler mode on an older kernel.)

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we document the minimum Linux kernel version for IPVS mode (maybe for different flavors, if that matters)?

I'd assumed it was 2.2.0 or something venerable, that we could assume everyone has.

@katcosgrove
Copy link
Contributor

Hey @danwinship! If we can land this before I freeze the website on Monday, it's good to go in with dev-1.29.

Copy link
Contributor

@sftim sftim left a comment

Choose a reason for hiding this comment

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

/lgtm

A review from SIG Network would be welcome.

content/en/docs/reference/networking/virtual-ips.md Outdated Show resolved Hide resolved
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 30, 2023
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: ac8339c8a74e3ec97f8db9866ecd8cecf0413205

Move the "watches Services and EndpointSlices" and "control loop" text
to the top level, since that applies to all proxy modes. Likewise, the
allegedly iptables-specific graphic is actually sufficiently abstract
to apply to any possible proxy.

Also fix an out-of-date claim about ipvs mode falling back to iptables
mode.
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 30, 2023
@k8s-ci-robot k8s-ci-robot requested a review from sftim November 30, 2023 18:47
@danwinship
Copy link
Contributor Author

/assign @aojea

@jihoon-seo
Copy link
Member

/label tide/merge-method-squash

@k8s-ci-robot k8s-ci-robot added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Dec 1, 2023
@Shubham82
Copy link
Contributor

@danwinship The test cases failed due to Netlify build timeout failures.
please re-push the commit.

git reset
git commit --amend --no-edit
git push --force-with-lease

@sftim
Copy link
Contributor

sftim commented Dec 1, 2023

No need to squash for 3 commits.
/remove-label tide/merge-method-squash

@k8s-ci-robot k8s-ci-robot removed the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label Dec 1, 2023
@aojea
Copy link
Member

aojea commented Dec 1, 2023

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 1, 2023
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: fb5979179156812011815469b12df77bd41d4ae5

@sftim
Copy link
Contributor

sftim commented Dec 1, 2023

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sftim

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 1, 2023
@k8s-ci-robot k8s-ci-robot merged commit ce56b7a into kubernetes:dev-1.29 Dec 1, 2023
6 checks passed
@danwinship danwinship deleted the proxy-refactor branch September 12, 2024 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/docs Categorizes an issue or PR as relevant to SIG Docs. sig/network Categorizes an issue or PR as relevant to SIG Network. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants