-
Notifications
You must be signed in to change notification settings - Fork 39.6k
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
kubeadm: Remove the support of configurable component configs #120788
Conversation
`kubeadm upgrade plan` uses to support the configure of component configs(kubeproxy and kubelet) in a config file and then check if the version is supported or not, if it's not supported it will be marked as a unsupported version and require to manually upgrade the component. This feature will make the upgrade config API much harder as this violates the no-mutation principle for upgrade, and we have seen it's quite problematic to do like this. This change removes the support of configurable component configs for `kubeadm upgrade plan`, along with the removal, the logic to parse the config file to decide whether a manual upgrade for the component configs is needed is removed as well. NOTE that API is not changed, i.e. `ManualUpgradeRequired` is not removed from `ComponentConfigVersionState` but it's no-op now. Signed-off-by: Dave Chen <[email protected]>
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
this change is marked as If end-user provide a config file with component configs, then it will be just ignored. How about print some warning here, saying, this is no longer supported and remove the |
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.
we should add action required on breaking changes or changes in user expectations.
in this case if they were using the --config the component config would have been updated in the cluster, right? we seem to be changing this behavior, so they must do it manullay now before upgrade.
ideally this should have been a v1beta4 change only. but it's likely complicated to do.
i think we should start erroring on Kind that is not upgradeconfiguration passed on upgrade.
IIUC, the only thing I can see is if the version is different from current value (defined kubelet = v1beta1, kubeproxy = v1alpha1), then asking for manually upgrade, other than that, I didn't see anything different. it's in the phase of |
+1, let me consolidate this logic into #114062 |
that may be true. i have forgotten what logic was added. |
suggesting:
like you said, there is no action for the user to take here. maybe after the upgrade config pr merges, because that pr is already huge? |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: chendave, neolit123 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 |
Probably, we should check https://github.com/kubernetes/enhancements/blob/0a6d6c888298c4381d3bedd2134a2e8ec098cab3/keps/sig-cluster-lifecycle/kubeadm/1381-component-config/README.md#kubeadm-upgrade-plan-changes that if the KEP needs some update. |
+1 @chendave PTAL and send PR with update there if needed. |
/release-note-edit
|
^ @chendave please check if the updated release note makes sense for this PR. still needs LGTM from another reviewer. |
KEP changes are OK, but they are not urgent. |
thanks @neolit123 for the update! this is not urgent, let's wait for a double check from @SataQiu or @pacoxu |
/kind feature |
tag it as feature might not appropriate, but I am not sure is there any better choice. :) |
/remove-kind feature |
The behavior is to ignore or skip The original is like below
As #114062 (comment) discussed
/lgtm
@neolit123 Do you mean that this PR will be merged after #114062? |
LGTM label has been added. Git tree hash: 6787e93a52cd9fac26cf53145afdf85c75d51b76
|
+1
this can merge before the upgrade config PR, as well. @chendave do as you prefer. |
thanks @neolit123 and @pacoxu ! let's hold for more days in case @SataQiu want to comment. I will push a change to update KEP as a follow up. |
It was introduced by #88124. /lgtm |
/unhold thanks all for the review |
kubeadm upgrade plan
uses to support the configure of component configs(kubeproxy and kubelet) in a config file and then check if the version is supported or not, if it's not supported it will be marked as a unsupported version and require to manually upgrade the component.This feature will make the upgrade config API much harder as this violates the non-mutation principle for upgrade, and we have seen it's quite problematic to do like this.
This change removes the support of configurable component configs for
kubeadm upgrade plan
, along with the removal, the logic to parse the config file to decide whether a manual upgrade for the component configs is needed is removed as well.NOTE that API is not changed, i.e.
ManualUpgradeRequired
is not removed fromComponentConfigVersionState
but it's no-op now.split from: #114062
more context:
#114062 (comment)
#114062 (comment)
This is one step forward upgrade config API.
What type of PR is this?
/kind feature
What this PR does / why we need it:
Which issue(s) this PR fixes:
Related: #114062
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: