欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-12 14:58:35
...

     

   
30天了解30种技术系列(14)----Docker集群管理利器Swarm
            
    
    博客分类: 30天了解30种技术  
     一般在公司中,Docker 服务器的数量> 1,所以如何让Docker 更合理的跑在很多服务器上,是一个需要解决的问题。为此Docker公司发布了官方的容器管理服务--Swarm。

 

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

 

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

 

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

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

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

 

 Swarm的工作流程:

 

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

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

   

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

 

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

    

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

 

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