-
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
Add proposal for kubeadm feature flags #35689
Conversation
Can a kubernetes member verify that this patch is reasonable to test? If so, please reply with "@k8s-bot ok to test" on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands will still work. Regular contributors should join the org to skip this step. If you have questions or suggestions related to this bot's behavior, please file an issue against the kubernetes/test-infra repository. |
cc @kubernetes/sig-cluster-lifecycle |
@kubernetes/sig-cluster-lifecycle Any others than me that thinks that this could just be a gdoc instead of a proposal in the main repo? We already have the original kubeadm proposal, and WDYT? |
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 that this lacking some stuff as is (and I think I second amending the existing proposal, rather than creating an alternate one)
I think that I'd like to see a crisp proposal for what is to be added. There is a general overview of the goals, and some concrete user examples, but there is no specific specification of the complete new commands, syntax, etc. I'd like to see more detail so that we actually know what is being proposed, rather than just the problem statement.
Thanks!
|
||
## Motivation | ||
|
||
Kubernetes is hard to install. Kubeadm and numerous external installers solve that issue well. None of them are excellent, although together they might be a perfect team. We believe that flexibility that feature flags may bring to the former make this possible. |
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.
nit kubeadm
here and elsewhere.
|
||
## Goals | ||
|
||
Have a set of cluster bootstrapping tasks the kubeadm does as a list of configurable optional steps. |
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.
kubeadm
|
||
## Goals | ||
|
||
Have a set of cluster bootstrapping tasks the kubeadm does as a list of configurable optional steps. |
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.
This sentence is awkward, rephrase?
@luxas how could I amend the PR to modify the original kubeadm proposal? In gerrit it is as simple as uploading a new revision, but I have no idea how to do the same with open github PRs :( |
@bogdando What about a google doc first? I think that would be best. If you want to update your pr, just push or force-push to your branch |
@luxas Sorry for confusing words, I meant the original PR:
how to update it with this change? |
@luxas here is the gdoc https://goo.gl/K90i3N |
I think it should be possible to restrict the editing to folks in the [email protected] google group @lukemarsden knows how I guess |
I agree with Brendan, this isn't really a proposal and shouldn't be a doc on its own. Please, can you just file an issue in kubernetes/kubernetes where you're proposing what you'd like to see or make a gdoc like everyone else does? This is also clearly an unmaintainable design which we can't/won't implement IMO. Instead we should make a new, advanced command called We should identify later which phases there are in the kubeadm setup, and propose a comprehensive |
@luxas runtime options allow to opt-in required features only and invoke kubeadm multiple times just simple as changing opt-in flags one want to call (wrapped in docker run perhaps) and make it stupid simple. While manipulating with config file is tedious and bad design, specifically for feature flags. I agree on proposed steps and This is about KISS implementation for the blocker removal, with minimum of required changes and nothing more complex. |
Folks, let's followup please. I understood the Brendan's comment as a request for more details on implementation, thus this directly conflicts to the cited statement. And at least this must be amended to the original spec kubernetes/enhancements#11, before closed. |
@bogdando the intent of my comment was that before the proposal can be considered, there has to be sufficient detail to understand what it is proposing before we can even evaluate the proposal. I think I'm with @luxas here that I think the right way forward is to add more detail to the existing kubernetes/enhancements#11, and then re-factor this proposal to describe how it solves those issues. Once that's done, I think that we'll be in good shape to understand if the proposal should be accepted or not. Thanks! |
@bogdando Could you please describe scenarios for how you imagine these options to be used? Do you need to perform other operations in between the steps? Retry steps? Reorder steps? Small numbers of flags and seem targeted at manual, interactive usage. Large numbers of flags aren't really easy to deal with for any use case. That approach basically requires a configuration management tool to translate from options specified some other way. In general, we find that configuration is more composable and therefore more amenable to higher-level automation. Subcommands to invoke individual steps that read a subset of the configuration could potentially work, but this may expose too many implementation details. I assume it would be a problem if steps were added or removed. |
@bgrant0607 I described example workflow and use cases and goals in the gdoc https://goo.gl/K90i3N |
This one mustbe amended to the original proposal, kubernetes/enhancements#11, once its design accepted. Signed-off-by: Bogdan Dobrelya <[email protected]>
Updated the spec and gdoc with that @jbeda proposes in #35907 (comment). |
Adding label:do-not-merge because PR changes docs prohibited to auto merge |
Proposals should now target the community repo, so closing this one. Also, here's my GDOC that includes the refactoring of the binary which will lead to separately invokable commands (which will solve this issue when done): https://docs.google.com/document/d/1v4k7eN-eetHbbpTAG7WuioRAMsK_FVGi1yC3VIn4Inw |
What this PR does / why we need it: See proposal in the gdoc https://goo.gl/K90i3N (duplicated here as well)
Release note:
Related #35133
This one must be amended to the original proposal, kubernetes/enhancements#11,
once its design accepted.
Signed-off-by: Bogdan Dobrelya [email protected]
This change is