容器化

动机

容器化程序用于在“容器”中运行任务,而容器又用于:

  • 将任务与其他正在运行的任务隔离。

  • 将任务“包含”在有限资源运行时环境中运行。

  • 通过编程控制任务使用的各个资源(例如,CPU,内存)。

  • 在预先打包的文件系统映像中运行软件,允许它在不同的环境中运行。

容器化类型

Mesos对现有容器技术(例如,docker)有很好的支持,并且还提供了自己的容器技术。它还支持将不同的容器技术(例如,docker和mesos)集成在一起。

Mesos实现了以下containerizer:

  • Composing

  • Docker

  • Mesos

  • External(deprecated)

可以在Agent上通过标志--containerizers指定要使用的容器化器的类型

Composing containerizer

此功能允许多个容器技术一起工作。可以在Agent上通过多个逗号分隔的容器化器名称配置--containerizers参数(例如,--containerizers = mesos,docker)来启用它。逗号分隔列表的顺序很重要,因为该容器配置列表中的第一个容器化器将用来默认启动任务。

Docker containerizer

Docker 容器化允许任务在docker容器中运行。通过配置Agent节点上的参数为--containerizers = docker,让任务以Docker容器化方式启动。

Mesos containerizer

此容器化允许任务使用由Mesos提供的可插拔的隔离器组运行,这是原生的Mesos容器化器解决方案。可以将Agent节点上的参数配置为--containerizers = mesos来启用它。

相比于Docker容器化方案,使用Mesos容器化有如下优势:

  • 使用Mesos环境的同时不必依赖外部容器技术。

  • 提供细粒度的操作系统控制(例如,由linux提供的cgroups /namespaces)。

  • 提供Mesos最新的容器技术特性。

  • 额外的资源控制,如其他容器技术未能提供的磁盘使用限制。

  • 支持添加任务的自定义隔离。

results matching ""

    No results matching ""