Skip to content
This repository has been archived by the owner on Dec 5, 2017. It is now read-only.

Support mesos resource roles (public_slave) in k8sm scheduler #482

Closed
sttts opened this issue Sep 7, 2015 · 14 comments
Closed

Support mesos resource roles (public_slave) in k8sm scheduler #482

sttts opened this issue Sep 7, 2015 · 14 comments

Comments

@sttts
Copy link

sttts commented Sep 7, 2015

  • As Alice (app dev), using DCOS CE, I want to be able to configure pods to be scheduled on public DCOS slaves.
  • As Alice (app dev), using Mesos or DCOS EE, I want to be able to configure pods to be scheduled with resources restricted to specific resource roles. (Not all Mesos clusters have slaves partitioned as "public" using resource roles.)

Note: Alice should already be able to schedule pods using node selectors that map to mesos slave attributes, but only if the resources from those slaves are not restricted to specific roles.

@sttts sttts added this to the EPIC: make k8s production-ready milestone Sep 7, 2015
@jdef
Copy link

jdef commented Sep 8, 2015

it might be fun to run k8s service-loadbalancer on a public slave:

@sttts
Copy link
Author

sttts commented Sep 8, 2015

Wondering what the dcos load balancer story is. Having something for k8s is nice, but it's a more general problem.

@jdef
Copy link

jdef commented Sep 8, 2015

Right now it's "bring your own"

On Tue, Sep 8, 2015 at 3:45 AM, Dr. Stefan Schimanski <
notifications@github.com> wrote:

Wondering what the dcos load balancer story is. Having something for k8s
is nice, but it's a more general problem.


Reply to this email directly or view it on GitHub
#482 (comment)
.

@sttts
Copy link
Author

sttts commented Sep 21, 2015

Probably the role should be exported as a label to the node. Then the node label predicate can be used to select a role for a pod.

@jdef
Copy link

jdef commented Sep 21, 2015

a framework should only be offered resources according to the role that the framework registered with. there's no need to label nodes w/ roles

@sttts
Copy link
Author

sttts commented Sep 21, 2015

can't you schedule some pods on private, some on public slaves? How does marathon do this then?

@sttts
Copy link
Author

sttts commented Sep 21, 2015

Reading the docs, it seems that you can set the framework role to "public_slave". Then you get offers for * and public_slave.

@jdef
Copy link

jdef commented Sep 21, 2015

Yes, thanks for clarifying. That's because * means all roles.

@s-urbaniak
Copy link

FYI: While doing a first deep-dive I discovered that we are already aware of a mesos role flag in the scheduler.

ref https://github.com/kubernetes/kubernetes/search?q=MesosRole

I'll concentrate on the predicate part.

@jdef
Copy link

jdef commented Oct 1, 2015

When we claim cpu,mem,port resources (procurement) we may need to set the
role of the Resource's we're using when building up the TaskInfo.

Consider that we also allocate resources for the Executor (and static
pods). If role needs to be set in the Resource's for ExecutorInfo then
we'll have some extra work to do. We probably only want to assign a role to
Resource's of the ExecutorInfo once, for a particular slave - the first
time it's created.

On Thu, Oct 1, 2015 at 8:52 AM, Sergiusz Urbaniak notifications@github.com
wrote:

FYI: While doing a first deep-dive I discovered that we are already aware
of a mesos role flag in the scheduler.

ref https://github.com/kubernetes/kubernetes/search?q=MesosRole

I'll concentrate on the predicate part.


Reply to this email directly or view it on GitHub
#482 (comment)
.

@s-urbaniak
Copy link

@jdef thanks for the hints, I'll need to read more code to get all the puzzle pieces

@s-urbaniak
Copy link

Re "Setting roles in the ExecutorInfo's resources": I am collecting collecting infos/docs from core devs since it's not documented very well.

@s-urbaniak
Copy link

As per discussion w/ @joerg84: The ExecutorInfo's resource roles are independent of launched task resource roles. Executor resources (and their roles) only define its own resource needs. An executor can launch tasks with different resource roles

@karlkfi karlkfi changed the title support resource roles in scheduler Add support for mesos resource roles (public_slave) in k8sm scheduler Oct 23, 2015
@karlkfi karlkfi changed the title Add support for mesos resource roles (public_slave) in k8sm scheduler Support mesos resource roles (public_slave) in k8sm scheduler Oct 23, 2015
@karlkfi karlkfi modified the milestones: Minimum Viable Product (MVP), Production Readiness Oct 23, 2015
@sttts
Copy link
Author

sttts commented Nov 5, 2015

We might pull this into 0.7.0 if it applies easily.

@jdef jdef modified the milestones: Release v0.7.1, Minimum Viable Product (MVP) - v0.8.0? Nov 17, 2015
@sttts sttts added LGTM and removed WIP labels Nov 23, 2015
@jdef jdef closed this as completed Dec 1, 2015
@jdef jdef removed the LGTM label Dec 1, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants