-
Notifications
You must be signed in to change notification settings - Fork 40k
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
[Kubelet] Optionally consume configuration from <node-name> named config maps #30090
[Kubelet] Optionally consume configuration from <node-name> named config maps #30090
Conversation
3f73635
to
c6a56a6
Compare
Couple of things.
Can it be changed to do the following: This allows all or some kubelets to share configmaps in groups, or each individual kubelet to have its own. |
@vishh and I recently talked about our options in this area. We would rather stick to per-node config internally, and build external automation to manage updating the per-node configs based on the attributes, etc. on a given node. Global config (and shared config is just a smaller case of global config) is dangerous because the Kubelets will almost immediately take up new config when they see it change. If the Kubelets are directly looking for a shared config, they will all change to that new config as soon as the configmap changes. In this scenario, if someone makes a bad change to that shared config, they could easily knock out a huge chunk of a cluster (or the whole thing, if some shared config ends up being global). There's nothing wrong with having a configmap that acts as the source of config for several nodes, but per-node config forces people to think about building rollout automation if they want shared config objects, and this is a good thing. |
@kfox1111 you're spot on about kube-system being the right namespace for these. Just updated this PR to reflect that. |
@mtaufen I see what you mean about the per node config. But, I think you can get the same affect with less storage by following a pattern of uploading the new config with a unique name, then updating the attributes on the nodes one at a time to point to it. |
If global configs are highly desirable, then we need to add some more logic |
@mtaufen thanks for fixing the namespace issue. it looks good now. |
@mtaufen talked me out of a single global map. |
036bc46
to
d82f1a8
Compare
@kfox1111 that is a very good point. |
80379a5
to
e7f5ecb
Compare
c759f46
to
bd90e1a
Compare
709945c
to
82cca35
Compare
Review status: 0 of 4 files reviewed at latest revision, 10 unresolved discussions, some commit checks failed. cmd/kubelet/app/server.go, line 333 [r4] (raw file):
|
05ac5cd
to
76810b4
Compare
cmd/kubelet/app/server.go, line 333 [r4] (raw file):
|
76810b4
to
e780bb5
Compare
GCE e2e build/test passed for commit e780bb5. |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e build/test passed for commit e780bb5. |
Automatic merge from submit-queue |
Yayyy!!! On Tue, Aug 23, 2016 at 9:26 AM, Kubernetes Submit Queue <
|
kubelet test went red after this merged. |
…belet" This reverts the revert of kubernetes#30090 and kubernetes#31282.
This extends the Kubelet to check the API server for new node-specific config, and exit when it finds said new config.
/cc @kubernetes/sig-node @mikedanese @timstclair @vishh
Release note:
This change is