You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mesos.apache.org by Thodoris Zois <zo...@ics.forth.gr> on 2017/08/06 23:32:59 UTC

Custom isolators - External container

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
> 

Re: Custom isolators - External container

Posted by Joseph Wu <jo...@mesosphere.io>.
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 Joseph Wu <jo...@mesosphere.io>.
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
>