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

Schedule DaemonSet Pods by default scheduler #59194

Closed
7 tasks done
k82cn opened this issue Feb 1, 2018 · 21 comments
Closed
7 tasks done

Schedule DaemonSet Pods by default scheduler #59194

k82cn opened this issue Feb 1, 2018 · 21 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. milestone/removed priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling.
Projects

Comments

@k82cn
Copy link
Member

k82cn commented Feb 1, 2018

Is this a BUG REPORT or FEATURE REQUEST?:
/kind feature

Description:

After discussion, we agree to let kube-scheduler to schedule DaemonSet Pods instead of DaemonSet controller. This issue is used to trace all related sub-tasks.

Design Doc: kubernetes/community#1714
Features: kubernetes/enhancements#548

Tasks:

/cc @bsalamat

@k82cn k82cn self-assigned this Feb 1, 2018
@k8s-ci-robot k8s-ci-robot added needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. kind/feature Categorizes issue or PR as related to a new feature. labels Feb 1, 2018
@k82cn
Copy link
Member Author

k82cn commented Feb 1, 2018

/sig scheduling
/sig apps

@k8s-ci-robot k8s-ci-robot added sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. sig/apps Categorizes an issue or PR as relevant to SIG Apps. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Feb 1, 2018
@ravisantoshgudimetla
Copy link
Contributor

@k82cn Not sure how far you have gone with implementation. Feel free to assign some tasks to me after breaking this issue into sub-tasks.

@k82cn
Copy link
Member Author

k82cn commented Feb 4, 2018

working branch is https://github.com/k82cn/kubernetes/tree/k8s_59194 :).

@k82cn
Copy link
Member Author

k82cn commented Feb 14, 2018

@kow3ns , @bsalamat , would you help to review the related issues in order? I'll create a e2e test for it.

@bsalamat
Copy link
Member

Thanks, @k82cn! Reviewed Task 0, 1, and 2. Will review 3 when/if it is ready.

k8s-github-robot pushed a commit that referenced this issue Feb 15, 2018
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Task 0: Added Alpha flag for NoDaemonSetScheduler feature.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Part of #59194

**Release note**:
```release-note
None
```
@kow3ns kow3ns added this to Backlog in Workloads Feb 26, 2018
@kow3ns kow3ns moved this from Backlog to In Progress in Workloads Feb 27, 2018
@janetkuo janetkuo added this to the v1.10 milestone Mar 6, 2018
@k82cn
Copy link
Member Author

k82cn commented Mar 6, 2018

/priority critical-urgent

@k8s-ci-robot k8s-ci-robot added the priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. label Mar 6, 2018
k8s-github-robot pushed a commit that referenced this issue Mar 11, 2018
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Task 2: Schedule DaemonSet Pods by default scheduler.

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
part of #59194
kubernetes/enhancements#548

**Release note**:

```release-note
When ScheduleDaemonSetPods is enabled, the DaemonSet controller will delegate Pods scheduling to default scheduler.
```
@k82cn
Copy link
Member Author

k82cn commented Mar 12, 2018

/status approved-for-milestone

@k8s-ci-robot
Copy link
Contributor

You must be a member of the kubernetes/kubernetes-milestone-maintainers github team to add status labels.

@tnozicka
Copy link
Contributor

After discussion, we agree to let kube-scheduler to schedule DaemonSet Pods instead of DaemonSet controller.

Feels like I am too late for the party but I don't see any explicit approvals in that linked doc or anywhere else.

Who is we?

@k82cn would you mind pointing me to a written approval from sig-architecture for this feature? All I found was the exact opposite here: https://groups.google.com/forum/#!searchin/kubernetes-sig-architecture/daemonset%7Csort:date/kubernetes-sig-architecture/ICJLqRWL420/H0Lgf15dAgAJ

@bsalamat
Copy link
Member

@tnozicka Here is the doc that explains the problem and lists possible solutions. There is much discussions in the comments of the doc that you can read if you are interested. In a SIG scheduling meeting where Brian Grant from the SIG Architecture was present, we discussed the solutions and decided to choose solution #1 in the doc.

@k82cn k82cn 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 Apr 3, 2018
@tnozicka
Copy link
Contributor

tnozicka commented Apr 3, 2018

@tnozicka Here is the doc that explains the problem and lists possible solutions. There is much discussions in the comments of the doc that you can read if you are interested.

@bsalamat I don't want to take sides on the chosen path here but given that this was already discussed on the sig-architecture ML and several members were against it, there should have been the same discussion on that ML about that topic again.

I went though that doc and didn't see any explicit approval from those members of sig-architecture there. (Even if it would be in those comments, it's the wrong place.)

In a SIG scheduling meeting where Brian Grant from the SIG Architecture was present, we discussed the solutions and decided to choose solution #1 in the doc.

Deciding it on the ML list is open, auditable and engages people from different time zones or otherwise engaged at that time.

@kubernetes/sig-architecture-feature-requests

@k8s-ci-robot k8s-ci-robot added the sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. label Apr 3, 2018
@k82cn
Copy link
Member Author

k82cn commented Apr 3, 2018

@tnozicka , as you known, there's a design doc PR here for this feature; people from different zone can give +1 or -1 comment during reviewing :)

BTW, is there any case that this feature can not 'handle' ?

@bsalamat
Copy link
Member

bsalamat commented Apr 3, 2018

I don't want to take sides on the chosen path here but given that this was already discussed on the sig-architecture ML and several members were against it, there should have been the same discussion on that ML about that topic again.

The design doc was sent to the mailing list and there was discussion on the SIG meetings and doc. We cannot ensure that all the community members have seen all the topics and approve a design decision. That said, if you see any major issue with the decision, please comment on the doc or send an email to sig scheduling mailing list. We will consider all possible solutions and would like to choose the best.

k8s-github-robot pushed a commit that referenced this issue Apr 12, 2018
Automatic merge from submit-queue (batch tested with PRs 59636, 62429, 61862). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Moved sync pod on Node logic to func.

Signed-off-by: Da K. Ma <madaxa@cn.ibm.com>

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Part of #59194

**Release note**:

```release-note
None
```
k8s-github-robot pushed a commit that referenced this issue Jun 2, 2018
Automatic merge from submit-queue (batch tested with PRs 64057, 63223, 64346, 64562, 64408). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Schedule DaemonSet Pods in scheduler.

Signed-off-by: Da K. Ma <klaus1982.cn@gmail.com>

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
part of #59194

**Special notes for your reviewer**:

**Release note**:

```release-note
`ScheduleDaemonSetPods` is an alpha feature (since v1.11) that causes DaemonSet Pods
to be scheduler by default scheduler, instead of Daemonset controller. When it is enabled,
the `NodeAffinity` term (instead of `.spec.nodeName`) is added to the DaemonSet Pods;
this enables the default scheduler to bind the Pod to the target host. If node affinity
of DaemonSet Pod already exists, it will be replaced.

DaemonSet controller will only perform these operations when creating DaemonSet Pods;
and those operations will only modify the Pods of DaemonSet, no changes are made to the
`.spec.template` of DaemonSet.
```
@k8s-github-robot
Copy link

[MILESTONENOTIFIER] Milestone Removed From Issue

@k82cn @kubernetes/sig-apps-misc @kubernetes/sig-architecture-misc @kubernetes/sig-scheduling-misc

Important: Code freeze is in effect and only issues with priority/critical-urgent may remain in the v1.11 milestone.

Help

@k8s-github-robot k8s-github-robot removed this from the v1.11 milestone Jun 6, 2018
@k82cn
Copy link
Member Author

k82cn commented Jun 6, 2018

Update the status: the functional codes are merged; the doc PR is opened (kubernetes/website#8842), waiting for review :)

I'm going to close this issue when doc PR is merged.

@k82cn
Copy link
Member Author

k82cn commented Jun 20, 2018

All related tasks were done, refer to the issue description for the detail :)

@k82cn k82cn closed this as completed Jun 20, 2018
Workloads automation moved this from In Progress to Done Jun 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. milestone/removed priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling.
Projects
Workloads
  
Done
Development

No branches or pull requests

10 participants