Triggered by the thread on potential deprecation of external 
containerizer, I wonder what would make sense to do to address the 
following set of requirements:
1. I need resource isolation for individual tasks (mainly for QoS 
reasons), so having container per task seems reasonable
2. I have rather advanced networking requirements, not easily addressable 
with default mesos containerizer or docker
3. Some of the tasks are stateful, so I would really prefer that Mesos 
doesn't kill them, pretty much ever (unless triggered by the framework)

It seems that having my own containerizer would be a reasonable approach. 
But given some of the requirements above, I am trying to figure out 
whether I would at all need to implement "usage" and "update" (and maybe 
even 'destroy', unless it is invoked as part of killTask received from the 
framework?).

Moreover, the isolation mechanism I have in mind does use the same Linux 
features as docker/mesos containerizers (cgroups, namespaces, etc), but in 
a somewhat different manner. So, I wonder whether I can use more than one 
containerizer on the same host -- e.g., to run tasks of my framework on 
the same host as tasks of , say, Marathon+docker (and if yes, how can I 
check whether they will work together). If mixing containerizers in the 
same host is not recommended, is there an easy way to dynamically decide 
which slaves are 'allocated' to which 'type' of resources (e.g., some sort 
of entire-host allocation policy)?

Some thoughts/advice would be really helpful, before we actually spend 
time implementing a new containerizer, one way or another.

Thanks!
Alex

P.S. Disclaimer: I am new to Mesos, so maybe some (or all) of the above 
doesn't make much sense, so bear with me..


Reply via email to