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

We should label master nodes #28687

Closed
justinsb opened this issue Jul 8, 2016 · 12 comments
Closed

We should label master nodes #28687

justinsb opened this issue Jul 8, 2016 · 12 comments
Assignees
Labels
area/nodecontroller kind/bug Categorizes issue or PR as related to a bug. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. sig/node Categorizes an issue or PR as relevant to SIG Node.
Milestone

Comments

@justinsb
Copy link
Member

justinsb commented Jul 8, 2016

We should have a label for the master nodes, so that e.g. daemonsets can select masters

I propose: roles.kubernetes.io/master: 1 and roles.kubernetes.io/node: 1

(The "obvious" alternative, kubernetes.io/role: master does not allow for multiple roles)

@dims
Copy link
Member

dims commented Jul 26, 2016

1 implies, there could be a 2, 3, 4... So is "roles.kubernetes.io/master: true" any better?

@bprashanth
Copy link
Contributor

I'd expect daemonsets to just not schedule on unschedulable nodes, is that not the case (it isn't now, I'm asking if that's by design)?

@Random-Liu
Copy link
Member

Random-Liu commented Aug 12, 2016

Currently, there is still no good way to avoid DaemonSet running on master.

Even though we've let DaemonSet to respect affinity #28803. However, there is no node label to distinguish master and node.

Should we add master and node labels? Or should we just add some kind of mechanism to let DaemonSet respect Unschedulable if we need that.

Ref #30491.

@timothysc
Copy link
Member

timothysc commented Aug 12, 2016

imho is DaemonSet does not respect "Unschedulable", then that is a bug.

/cc @kubernetes/sig-scheduling

@dchen1107
Copy link
Member

@mikedanese Could you please take care of this from daemonset? Or some other suggestion on how to handle this? This prevent node-problem-detector from running on e2e tests. Thanks!

@mikedanese
Copy link
Member

mikedanese commented Aug 19, 2016

imho is DaemonSet does not respect "Unschedulable", then that is a bug.

Unschedule existing is a bug :) (ref #29178). We need more fine grained control here.

The motivating use case for daemonsets is system components (node-problem-detector, log shipper, kube-proxy, sdn agent). Cluster operators want system components to be running and ready before workloads run on a given node. At the time the daemonset was introduced, the only way to gate the scheduler from scheduling to a node is to mark it unscheulable . Thus daemonset could not have satisfied it's motivating use case if it had respected unschedulable.

The fix here is to:

  1. enable the PodTolerateNodeTaints predicate to the daemonset controller
  2. add a --register-tainted option to the kubelet
  3. deprecate --register-schedulable

@mikedanese mikedanese added this to the v1.4 milestone Aug 19, 2016
@mikedanese mikedanese added the priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. label Aug 19, 2016
@dchen1107 dchen1107 added sig/node Categorizes an issue or PR as relevant to SIG Node. kind/bug Categorizes issue or PR as related to a bug. labels Aug 19, 2016
@resouer
Copy link
Contributor

resouer commented Aug 22, 2016

Thanks , @mikedanese Did you already send PR for this? I'd like to track it.

@k8s-github-robot k8s-github-robot added sig/node Categorizes an issue or PR as relevant to SIG Node. and removed sig/node Categorizes an issue or PR as relevant to SIG Node. labels Aug 24, 2016
@caseydavenport
Copy link
Member

Is there a PR for this?

@mikedanese
Copy link
Member

Mostly fixed in #31647,

@mikedanese mikedanese modified the milestones: v1.5, v1.4 Sep 5, 2016
@mikedanese mikedanese added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. and removed priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. labels Sep 5, 2016
@mikedanese
Copy link
Member

This is not going to make it into v1.4 but will be fixed early v1.5.

@dims
Copy link
Member

dims commented Nov 15, 2016

@mikedanese - switching this to 1.6 as it's too late for 1.5. ok? (please switch it right back if you disagree, cc @saad-ali @calebamiles)

@dims dims modified the milestones: v1.6, v1.5 Nov 15, 2016
@mikedanese
Copy link
Member

That's fine.

k8s-github-robot pushed a commit that referenced this issue Dec 7, 2016
Automatic merge from submit-queue

add a configuration for kubelet to register as a node with taints

and deprecate --register-schedulable

ref #28687 #29178

cc @dchen1107 @davidopp @roberthbailey
k8s-github-robot pushed a commit that referenced this issue Feb 14, 2017
Automatic merge from submit-queue (batch tested with PRs 41115, 41212, 41346, 41340, 41172)

Enable PodTolerateNodeTaints predicate in DaemonSet controller

Ref #28687, this enables the PodTolerateNodeTaints predicate to the daemonset controller

cc @Random-Liu @dchen1107 @davidopp @mikedanese @kubernetes/sig-apps-pr-reviews @kubernetes/sig-node-pr-reviews @Kargakis @lukaszo 

```release-note
Make DaemonSet controller respect node taints and pod tolerations. 
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/nodecontroller kind/bug Categorizes issue or PR as related to a bug. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. sig/node Categorizes an issue or PR as relevant to SIG Node.
Projects
None yet
Development

No branches or pull requests

10 participants