You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Joseph Wu <jo...@mesosphere.io> on 2017/08/07 18:16:37 UTC

Re: Custom isolators - External container

First off, the external containerizer was officially removed in Mesos 1.1.0
(it had been deprecated long before that release):
https://issues.apache.org/jira/browse/MESOS-3370

---

If you want to develop/deploy a new isolation method for Mesos, you should
first consider writing isolator modules (Mesos modules):
https://github.com/apache/mesos/blob/master/include/mesos/slave/isolator.hpp

Isolator modules are only applicable for the Mesos containerizer, so if you
plan to run docker workloads, you can consider using built-in isolators
("docker/runtime") that support running docker images in the Mesos
containerizer.

If you plan to use the Docker containerizer, your only choice is to develop
a custom executor to isolate tasks only within the same executor (docker
will take over isolating executors from each other).

---

There are few benefits from running the Mesos agent inside a Docker
container and many pitfalls, so this practice is highly discouraged.
Instead, we recommend running the Mesos agent directly via a supervisor
(upstart, systemd, etc.).  The agent itself is not containerized when run
normally.

On Sun, Aug 6, 2017 at 4:32 PM, Thodoris Zois <zo...@ics.forth.gr> wrote:

> Hello,
>
> Is support of external containerizer removed from Mesos? Also, i have
> developed some isolators that i would like to use with Mesos. I found 3
> ways to do that but i don't know what is the proper way and what are the
> advantages and disadvantages in each case.
>
> The 1st one is as a Mesos module
>
> The 2nd one is a custom executor
>
> The 3rd one is the container image on agent.
>
> What i am trying to do is to isolate docker tasks (images - one task per
> docker container) that run under the same agent with my own isolators.
>
> What are the benefits of running agent in a big docker container and
> inside small docker containers as tasks?  If you don't run the agent under
> a big docker container  then by default is running under Mesos container
> while inside are running small docker containers with tasks? (Assume
> that we don't run tasks under mesos container)
>
>
> Thank you and sorry for the so many questions!
> Thodoris
>

Re: Custom isolators - External container

Posted by Thodoris Zois <zo...@ics.forth.gr>.
Hello, 

Thank you for your response, i will use the Mesos containerizer and run docker images as tasks, so i will use cgroups/cpu and cgroups/mem for isolation in order to get some results so i can compare them when in case i use my own isolators. Isolation module will work right? Because of the use of mesos containerizer..

Also, where i can find some workloads that are used along with mesos so i can evaluate better my results or traces so i can make my own workloads. What kind of tasks most people run with Mesos? 






> On 7 Aug 2017, at 21:16, Joseph Wu <jo...@mesosphere.io> wrote:
> 
> First off, the external containerizer was officially removed in Mesos 1.1.0 (it had been deprecated long before that release):
> https://issues.apache.org/jira/browse/MESOS-3370
> 
> ---
> 
> If you want to develop/deploy a new isolation method for Mesos, you should first consider writing isolator modules (Mesos modules):
> https://github.com/apache/mesos/blob/master/include/mesos/slave/isolator.hpp
> 
> Isolator modules are only applicable for the Mesos containerizer, so if you plan to run docker workloads, you can consider using built-in isolators ("docker/runtime") that support running docker images in the Mesos containerizer.
> 
> If you plan to use the Docker containerizer, your only choice is to develop a custom executor to isolate tasks only within the same executor (docker will take over isolating executors from each other).
> 
> ---
> 
> There are few benefits from running the Mesos agent inside a Docker container and many pitfalls, so this practice is highly discouraged.  Instead, we recommend running the Mesos agent directly via a supervisor (upstart, systemd, etc.).  The agent itself is not containerized when run normally.
> 
>> On Sun, Aug 6, 2017 at 4:32 PM, Thodoris Zois <zo...@ics.forth.gr> wrote:
>> Hello,
>> 
>> Is support of external containerizer removed from Mesos? Also, i have developed some isolators that i would like to use with Mesos. I found 3 ways to do that but i don't know what is the proper way and what are the advantages and disadvantages in each case.
>> 
>> The 1st one is as a Mesos module
>> 
>> The 2nd one is a custom executor
>> 
>> The 3rd one is the container image on agent.
>> 
>> What i am trying to do is to isolate docker tasks (images - one task per docker container) that run under the same agent with my own isolators.
>> 
>> What are the benefits of running agent in a big docker container and inside small docker containers as tasks?  If you don't run the agent under a big docker container  then by default is running under Mesos container while inside are running small docker containers with tasks? (Assume
>> that we don't run tasks under mesos container)
>> 
>> 
>> Thank you and sorry for the so many questions!
>> Thodoris
>