美文网首页
Mesos 资源隔离

Mesos 资源隔离

作者: imsilence | 来源:发表于2017-05-04 11:48 被阅读158次

    资源隔离

    mesos采用插件的方式提供多种隔离机制, 以便为不同的任务提供沙盒环境

    mesos_slave_container_isolation.png

    说明:
    mesos以Containerizer API的方式支持不同的容器机实现, 目前mesos支持mesos containerizer, docker containerizer和external containerizer, 默认使用mesos containerizer, 通过external containerizer我们可以自己实现自己的容器机和隔离器

    • mesos containerizer

    mesos containerizer是mesos自己实现的容器机, 提供两种类型的隔离器: 基于posix系统的进程级别格式和基于linux内核特性cgroups隔离,containerizer通过isolator api对两种隔离器进行控制。

    cgroups本身提供cpu和mem的隔离,在mesos containerizer还另外提供了磁盘隔离,共享文件系统隔离和PID namespace隔离

    • docker containerizer

    mesos>=0.20原生支持docker, docker containerizer主要工作是将任务或执行器的启动和销毁过程翻译成对应的Docker CLI命令(docker可支持remote api操作)

    使用:

    1. 在slave节点安装docker cli
    2. 在启动slave时在参数containerizers中添加docker或直接设置为docker
    3. 设置iptables
      iptables -A INPUT -s 172.17.0.0/16 -i docker0 -p tcp -j ACCEPT
    4. docker镜像可以以任务或者执行器的方式启动
    • external containerizer

    资源的隔离由开发者进行实现和管理, 由外部容器机和外部容器机程序,外部容器机在mesos中已经提供并提供了基于mesos slave外部插件的容器API,程序员需要实现外部容器机程序,外部容器使用shell方式调用外部容器机, 参数通过stdin和stdout传递

    需要在启动slave时指定--isolation=external和--containerizer_path=/path/to/external/containterizer

    相关文章

      网友评论

          本文标题:Mesos 资源隔离

          本文链接:https://www.haomeiwen.com/subject/quvrtxtx.html