Mesos 资源隔离

资源隔离

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,717评论 15 147
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 13,593评论 0 120
  • 写这篇文章主要是为了今后毕业论文素材上的整理,同时对docker进行巩固温习。大纲: docker简介docker...
    胡图仙人阅读 12,218评论 2 96
  • 昨天晚上又惊又吐的,浩明觉得身体很不舒服。想着今天放假,便赖床没有起来。睡梦中,他觉得被人踢了一脚,他动了动身体,...
    小杜打醋阅读 2,325评论 0 0

友情链接更多精彩内容