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

Deprecate and remove DynamicKubeletConfig (?) #100799

Closed
dims opened this issue Apr 4, 2021 · 13 comments
Closed

Deprecate and remove DynamicKubeletConfig (?) #100799

dims opened this issue Apr 4, 2021 · 13 comments
Assignees
Labels
kind/deprecation Categorizes issue or PR as related to a feature/enhancement marked for deprecation. kind/feature Categorizes issue or PR as related to a new feature. sig/node Categorizes an issue or PR as relevant to SIG Node. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@dims
Copy link
Member

dims commented Apr 4, 2021

Stuck in beta since v1.11:
https://github.com/kubernetes/kubernetes/blob/master/pkg/features/kube_features.go#L37-L40

/sig node

@dims dims added the kind/feature Categorizes issue or PR as related to a new feature. label Apr 4, 2021
@k8s-ci-robot k8s-ci-robot added sig/node Categorizes an issue or PR as relevant to SIG Node. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Apr 4, 2021
@dims
Copy link
Member Author

dims commented Apr 4, 2021

cc @SergeyKanzhelev @ehashman

@pacoxu
Copy link
Member

pacoxu commented Apr 6, 2021

#61673 as well.

If this could be considered an instance-specific flag, or a descriptor of local topology
managed by the Kubelet, see: #61647.

If this flag is only registered in os-specific builds, see: #61649.

Link to the enhancement issue as well kubernetes/enhancements#281.

@neolit123
Copy link
Member

the feature was enabled in kubeadm as optional, but we removed it recently.

prior feedback from users was that they could not get it work with the kubeadm wrapped option or by following the official docs:
https://kubernetes.io/blog/2018/07/11/dynamic-kubelet-configuration/

dynamic reconfiguration of services is a interesting discussion, yet from what i've seen SIG Arch are mostly not in favor.
but arguably dynamic reload of certs from disk falls in the same bucket and we are already doing that for some component flags.

@liggitt
Copy link
Member

liggitt commented Apr 6, 2021

but arguably dynamic reload of certs from disk falls in the same bucket and we are already doing that for some component flags.

I don't think that's in the same bucket... dynamic refresh of a time-bound portion of a configuration (like a CA bundle or an authentication token) seems very different from changing the configuration.

@neolit123
Copy link
Member

i still consider it dynamic reconfiguration of a service, that may or may not have behavior changes.
changing the CA bundle that a server accepts can have behavior changes for clients trusting the same server.

@derekwaynecarr
Copy link
Member

we discussed this in sig-node and @SergeyKanzhelev said he would explore this in more depth during 1.22.

@mtaufen
Copy link
Contributor

mtaufen commented Apr 13, 2021

I agree with @liggitt that auto reload of the CA bundle is not in the same category of DynamicKubeletConfig.

It's the difference between changing the filepath (dynamic config) and just reloading the file at a fixed location (CA reload).

Sure it's technically a change but if config is specifying intent, and the intent is "reload this file periodically," then changing the target file is not changing intent.

@ehashman
Copy link
Member

/assign @SergeyKanzhelev
/triage accepted
/kind deprecation

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. kind/deprecation Categorizes issue or PR as related to a feature/enhancement marked for deprecation. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Apr 28, 2021
@kikisdeliveryservice
Copy link
Member

Hey all, question on the roll-out of this. Discussion seems to say that the you're going to look into this and this is behind a beta featuregate - not familiar with this feature - but which part of the deprecation policy would this fall into: https://kubernetes.io/docs/reference/using-api/deprecation-policy

What release would this be targeted to be finally deprecated with feature gate removed?

@liggitt
Copy link
Member

liggitt commented May 10, 2021

I think the relevant portions of the deprecation policy would be:

Rule #5b: CLI elements of admin-facing components (e.g. kubelet) must function after their announced deprecation for no less than:

...

  • Beta: 3 months or 1 release (whichever is longer)

Rule #8: Feature gates must be deprecated when the corresponding feature they control transitions a lifecycle stage as follows. Feature gates must function for no less than:

...

  • Beta feature to EOL: 3 months or 1 release (whichever is longer)

@SergeyKanzhelev
Copy link
Member

Let's track this work as a KEP so there are less bugs in k/k repository. Also helps with linking to the KEP - instead of linking PRs to this issue.

/close

@k8s-ci-robot
Copy link
Contributor

@SergeyKanzhelev: Closing this issue.

In response to this:

Let's track this work as a KEP so there are less bugs in k/k repository. Also helps with linking to the KEP - instead of linking PRs to this issue.

/close

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.

@BenTheElder
Copy link
Member

Note: the KEP is kubernetes/enhancements#281 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/deprecation Categorizes issue or PR as related to a feature/enhancement marked for deprecation. kind/feature Categorizes issue or PR as related to a new feature. sig/node Categorizes an issue or PR as relevant to SIG Node. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests