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 configuration flags #5582
Comments
To the best of my knowledge no one is working on this. However, a lot of work has been done so that etcd is not exposed to the nodes. The nodes only talk to the api server (which obviously in turn stores in etcd, so yes, the node config could live indirectly in etcd). As to master config, again, only part of it talks to etcd (the apiserver, the scheduler and controller-manager both can/should be insulated from etcd). So this is a great goal, but most configs will need to be exposed by the apiserver, not directly by etcd. |
So, creating a configuration object and exposing it through the API is a prerequisite. I'll start with the configuration objects then. |
Yeah that issue should be updated to say "in API" On Tue, Mar 17, 2015 at 8:45 PM, Eric Paris notifications@github.com
|
As per: Take a look at the secret API: It makes a key-value map available via a volume to containers. A slight tweak on this plus tooling in kubectl could be used for general configuration. |
I've done the initial implementation. But, before proceeding any further with tests and the @bgrant0607 @thockin @eparis Please take a look at #6245 |
Another example problem: #10489 Flags are a horrible configuration mechanism:
We need to treat component configuration as a versioned API with a well defined schema, similarly to kubeconfig and the scheduler config. As with API fields, removal of fields or changing their semantics are non-backwards-compatible changes, which will break turnup scripts/configurations. Some fields might be more properly actual API fields. We should also just remove as many knobs as possible. We're copying bad internal practices by proliferating flags. Not only do flags dilute code coverage, but requiring elaborate configurations for reasonable behavior is just asking for a high support burden. Alternatives include internal constants, receiver/interface parameters, plugins, dependency injection, factories, heuristics, and self-configuration/self-tuning. |
/cc @mikedanese Closing as a dupe of #12245. |
I've been inspecting the use of flags throughout the code to find a better solution. Storing configurations in
etcd
seems like a good solution(that's whatetcd
does after all) as discussed in #1627. Is there anyone working on this? I would like to give it a shot.The text was updated successfully, but these errors were encountered: