mesosphere-backup / deimos

Mesos containerizer hooks for Docker
Apache License 2.0
249 stars 26 forks source link

deimos executor and mesos default shell executor #18

Closed pwang7 closed 10 years ago

pwang7 commented 10 years ago

If I installed deimos on mesos slaves, can I still use the mesos default shell executor? If so, how to specify which executor to use? Thanks!

onejli commented 10 years ago

If you're asking about using Mesos with lxc (or cgroups) vs Docker, you need to explicitly tell the Mesos slave to use an external containizer (e.g. Deimos).

pwang7 commented 10 years ago

After installed Deimos, it seems that Mesos slaves run all jobs inside docker. So my question is with Deimos installed, can I choose to run some jobs inside docker and others without docker (say, with cgroups)?

onejli commented 10 years ago

If the Mesos slave is not configured to use external isolation and provided with the path to Deimos (and by extension made aware of Docker), it will not (more accurately cannot) use Docker containers.

Slave options

--isolation=VALUE                          Isolation mechanisms to use, e.g., 'posix/cpu,posix/mem'
                                             or 'cgroups/cpu,cgroups/mem' or 'external'. (default: posix/cpu,posix/mem)

--containerizer_path=VALUE                 The path to the external containerizer executable used when
                                             external isolation is activated (--isolation=external).
solidsnack commented 10 years ago

@pwang7 At present, you can run them all with Deimos -- or all not. We've experimented with a "non-containerizer" (container.image would be non:///) in Deimos to allow it but this code is not in master.

pwang7 commented 10 years ago

@solidsnack That's exactly what I'm looking for. Thanks!

pwang7 commented 10 years ago

Another question, can I still use Chronos to run job with Deimos installed and mesos slave using external isolation?

solidsnack commented 10 years ago

All Chronos tasks will run in Deimos, too -- the scheduler doesn't need to understand anything about the containerizer. They're at different layers.