30天了解30种技术系列(14)----Docker集群管理利器Swarm

     

   

     一般在公司中,Docker 服务器的数量> 1,所以如何让Docker 更合理的跑在很多服务器上,是一个需要解决的问题。为此Docker公司发布了官方的容器管理服务--Swarm。

    Docker Swarm(蜂群) --- 发布于2014年12月的DockerCon,用以管理Docker集群,并将其抽象为一个虚拟整体暴露给用户。

   Swarm 几乎为Go语言开发完成,目前相对来讲比较简单,但是因为是官方项目,所以建议各位要密切关注。

   Swarm使用标准的Docker API接口作为其前端访问入口,意味着我们可以使用Docker任意语言的API调用。

   Swarm 的结构如下:由Master Node来组成,需要注意的是Master与Node只负责运行容器,即如果进程死掉,那么容器运行没有影响。

   

       

 Swarm的工作流程:

  1. Docker Client与 Master 通信
  2. Master 根据 集群Docker 容器运行的情况进行调度,然后分配相关容器起在那种机器上
  3.  然后发送指令给Docker Node 会启动相关容器,并进行监控

      所以,这里面比较重要的就是调度算法,目前的调度算法为:Spread,binpack和Random。很明显,Random是随机的启动容器,这个只能玩玩。

   

      Spread 优先考虑将Docker启动在容器运行比较少的服务器上,Binpack则相反,是尽可能把容器启动在一台服务器上。

     Swarm 还有很多如何搭建等相关的知识,大家可以自己研究一下。再后续的文章里面,我们还会介绍其他Docker的组件。

    

    大家如果对于哪个技术比较感兴趣,可以私信,我会有重点的在后续文章进行展开。

    更多精彩请关注微信 : 图灵搜索,大家也可以使用中国第一个为程序员打造的搜索引擎:https://www.tulingss.com 进行查看。

    

猜你喜欢

转载自tulingss.iteye.com/blog/2236531