美文网首页
05 Docker平台的对比

05 Docker平台的对比

作者: 被子十三 | 来源:发表于2017-03-29 00:13 被阅读109次

    Docker的3大编排工具:Mesos、Kubernetes、Swarm

    容器落地时,Docker平台的核心在于编排工具的选择。

    1.Mesos介绍

    两个重要角色,一个是Slave,安装集群节点上。
    一个是Master,作为集群的管理节点,slave会将节点的资源使用情况周期性的报告给我们的master节点。

    Mesos配合Framework进行集群管理和资源调度的流程

    Mesos配合计算架构的FrameWork进行资源调度,过程如下:

    1. master会将计算机节点的资源使用情况周期性的报告给我们的Framework Scheduler
    2. Framework Scheduler进行调配后,下发部署的任务给集群节点
    3. 节点上的framework Executor获取任务进行容器的部署(在容器的架构中,Executor就是容器的引擎)
    4. 节点会将部署结果反馈给master
    5. Master会更新主机资源的状态给Framework Scheduler

    Mesos+Marathon+Zookeeper
    Marathon是一个可以调用Docker引擎的framework,可以将容器按照一定的调度策略部署到合适的主机上。

    Zookeeper的作用是保证Marathon和 Mesos来管理节点的高可用性,即当master节点宕机之后,可以快速的选取出新的master节点,从而不影响逻辑架构。Zookeeper本身是一个分布式的高可用的架构。

    2.kubernetes的介绍(Goolge的开源容器管理项目)

    Pods
    • 【重点】:Mesos中的最小的单元是容器,但是kubernetes的最小的单元是Pod。容器被封装在Pod中,一个Pod中可以存放一个或者多个容器。

    • 设计Pod的目的是:将需要紧密联系的Docker容器放置在一个独立的空间内(Pod)。

    • kubernetes整体架构:在部署 kubernetes(?)之前,需要先部署Etcd作为集群的管理工具

    Kubernetes架构
    • 2个重要的角色:minion(普通节点)和master(管理节点)。
      minion节点上的kubelet会结合etcd和cAdvisor将节点信息汇总到Master中。
      Master使用Schedule会按照一定的调度策略将Pod调度到各个minion上,使用Replication Controller来控制Pod的数量和伸缩,使用Service来分配Pod的IP和处理Pod的负载均衡。
      Master提供了统一的访问接入口,可以通过web(?)或者commands对kubernetes进行管理。
      通过kubernetes的统一管理实现了六个功能

    3.Swarm的介绍(Docker公司自己的容器管理工具)

    1.12版本之后,Swarm已经封装进Docker引擎中,并且自带服务发现的功能

    • 2个重要角色:manager和worker node
      Swarm1.12之后,自带服务发现的功能,可以做到manager node的高可用性。
      Swam也内置了负载均衡的技术,使用的是LVS,功能强大,但是依然支持和其他服务发现的工具,如etcd等等。

    4.Docker平台对比

    三大平台各具优势

    相关文章

      网友评论

          本文标题:05 Docker平台的对比

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