首页 > 其他 > 详细

用docker swarm搭建docker集群

时间:2020-06-16 10:38:30      阅读:54      评论:0      收藏:0      [点我收藏+]

【前言】

在项目中通常用高可用的方式部署多个web应用服务,如果web应用服务项目部署在IIS上面,通常用负载均衡指向多台IIS服务器来实现高可用;如果使用docker容器部署web应用服务项目,可以用k8s或者docker swarm来偏排容器,以容器集群的方式实现高可用。

本篇讲述用docker swarm来实现docker集群编排。

使用负载均衡 +  IIS方式的缺点:

    web应用节点不能动态扩容。

    当web应用节点挂掉之后,需要额外写一个守护程序用来检测web应用是否处于运行状态, 如果web应用停止,由守护程序启动web应用。

    部署成本高,要一台一台的部署web应用。

使用docker swarm编排docker集群的优势:

    可以动态对web应用进行动态扩容。

    由docker swarm来监控docker节点是否可用,如果docker节点出故障不可用,docker swarm会创建一新的docker节点来代替出故障的docker节点。

    不需要到每一台服务器去部署web应用服务,用docker swarm的service命令一次性动态部署多个web应用服务。

 

docker swarm介绍:

docker swarm 分为管理节点(manger node)、工作节点(work node)、服务(services),任务(Task)。

swarm可以包含一个或多个管理节点,一个或多个工作节点。

(1) 工作节点:运行docker的服务器。

工作节点接收管理节点的任务,并执行任务。

(2) 管理节点:

管理节点同时也是工作节点,维护集群的状态。 管理节点分为首领管理节点与非首领管理节点,首领管理节点只有一个,非首领管理节点可以有多个。

当首领管理节点不可用时,docker swarm会选举其中一个非首领管理节点为首领管理节点。当非首领管理节点接到命令时会将命令转交给首领管理节点,首领管理节点会把命令执行于整个swarm集群。

如果工作点都挂掉只剩下一个管理节点,docker swarm仍然可以保持集群和服务的运行。

管理节点建议用奇数个,最好3个或5个,一般不超过5个,因为swarm内部是通过RAFT协议达成共识状态,管理节点越多,越不容易达成共识。

(3) 服务:运行在docker里面的容器。

服务以声明的方式运行和扩展任务。在管理节点上一行命令可以完成多个服务实例的创建,并且均衡的分配服务实例到工作节点。

当某个工作节点或工作节点中运行的服务实例挂掉时,管理节点会在其它可用的工作节点(包含管理节点)中创建一个新的服务实例,并始络保持可用服务实例的数量。

(4) 任务:swarm集群里运行的各个服务实例的容器就是任务,比如5个webapi容器也叫5个任务。

 

用docker swarm搭建docker集群

原文:https://www.cnblogs.com/yyee/p/13139107.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!