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
remove feature gate SupportIPVSProxyMode. #94514
Merged
k8s-ci-robot
merged 1 commit into
kubernetes:master
from
tangwz:remove_SupportIPVSProxyMode
Sep 10, 2020
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -334,29 +334,20 @@ export KUBE_PROXY_MODE=ipvs | |
|
||
### Cluster Created by Kubeadm | ||
|
||
If you are using kubeadm with a [configuration file](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file), you have to add `mode: ipvs` and also add `SupportIPVSProxyMode: true` below the `kubeProxy` field as part of the kubeadm configuration. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This part you can remove the reference to the feature flag, but keep the 'mode: ipvs' as this is still true |
||
If you are using kubeadm with a [configuration file](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file), you have to add `mode: ipvs` below the `kubeProxy` field as part of the kubeadm configuration. | ||
|
||
```yaml | ||
... | ||
kubeProxy: | ||
config: | ||
featureGates: | ||
SupportIPVSProxyMode: true | ||
mode: ipvs | ||
... | ||
``` | ||
Note that in Kubernetes 1.11 and later, `SupportIPVSProxyMode` is set to `true` by default. | ||
|
||
before running | ||
|
||
`kube init --config <path_to_configuration_file>` | ||
|
||
If you are using Kubernetes v1.8, you can also add the flag `--feature-gates=SupportIPVSProxyMode=true` (deprecated since v1.9) in `kubeadm init` command | ||
|
||
``` | ||
kubeadm init --feature-gates=SupportIPVSProxyMode=true | ||
``` | ||
|
||
to specify the ipvs mode before deploying the cluster. | ||
|
||
**Notes** | ||
|
@@ -412,14 +403,10 @@ UDP 10.0.0.10:53 rr | |
|
||
Use the following check list to help you solve the problems: | ||
|
||
**1. Enable IPVS feature gateway** | ||
|
||
For Kubernetes v1.10 and later, feature gate `SupportIPVSProxyMode` is set to `true` by default. However, you need to enable `--feature-gates=SupportIPVSProxyMode=true` explicitly for Kubernetes before v1.10. | ||
|
||
**2. Specify proxy-mode=ipvs** | ||
**1. Specify proxy-mode=ipvs** | ||
|
||
Check whether the kube-proxy mode has been set to `ipvs`. | ||
|
||
**3. Install required kernel modules and packages** | ||
**2. Install required kernel modules and packages** | ||
|
||
Check whether the IPVS required kernel modules have been compiled into the kernel and packages installed. (see Prerequisite) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecation I think we need to set
LockToDefault
for 2 releases before we can remove it.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deprecation talks about announcing the deprecation (which we did in CHANGELOG/CHANGELOG-1.10.md) and about a warning when used (which happens by nature of being marked GA).
Deprecation also says "must be documented in both in the release notes and the corresponding CLI help" but CLI help filters out GA and deprecated gates.
Given the error is in the gates lib, I think we should be OK to delete this, and then we can fix the doc and the lib.
Disaagree?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think in this case I agree with that, as there are no further references in other parts of the code about the Feature gate.
But in case of #94581 I actually don't know if we should remove (as the Feature Gate went to GA in v1.18) or only mark it as LockToDefault: true, as that PR also removes some logic from the code. This also wasn't announced in the CHANGELOG/CHANGELOG-1.18.md when it turned into GA, should it be?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TIL :)
In rule #7 of the Deprecation Policy:
Does "non-operational" mean we don't check the gate anywhere or does it also imply the gate is locked? If the former, then sgtm to remove it now.