docker swarm 多服务器部署多容器实现高可用

docker swarm的基本使用
swarm能真正实现多服务器自动部署,自动管理,服务器扩展、服务器裁减等。
本次使用到四个服务器,其中一个管理服务器,两上工作服务器,还有一个扩展服务器。
1、swarm初始化:初始化管理服务器的swarm服务,
在这里插入图片描述
在这里插入图片描述
2,现在加两个从节点服务器到这个管理节点,在那两个从节点服务器上分别执行

先看要加到管理节点的token令牌是什么,在管理节点执行:
在这里插入图片描述
在两个从节点服务器上执行以下命令:
在这里插入图片描述
然后在管理节点下能看到刚加入的节点:
在这里插入图片描述
3,现在集群已经搭起来了,我们开始部署服务,我们以nginx来测试,在管理节点执行以下命令:
在这里插入图片描述
参数说明:replicas指应用的实例复制多少份,p指对面暴露端口:应用端口。在管理节点执行:
在这里插入图片描述
在这里插入图片描述
你会发现在管理节点(discovery这个节点是管理节点的主机名)上运行一个应用实例,这里需要说明下管理节点也是一个工作节点。再到这两个上执行下面这个命令确定服务已经启动成功。

在这里插入图片描述
我们可以通过浏览器来访问8080端口。
在这里插入图片描述
从节点也一样可以访问到。
4,现在想扩展应用实例,比如发现2个应用实例不能满足需求的时候,需要扩展应用实例,执行以下命令:
在这里插入图片描述
这个表示在这个管理节点的集群里运行的应用实例数为6个,管理节点会自动的分配各应用实例在哪些服务器上运行。再在管理节点上执行:
在这里插入图片描述
此时你发现已经有6个实例在跑了,分别在三个节点上。至此你会发现应用的伸缩性非常好。再比如,发现三台服务器都满负载运行,想扩展服务器,只需要把要扩展的服务器加入到这个集群就可以。用前面提到的第2点,就可以实现。
在这里插入图片描述
此时你需要扩展应用来重新分配各应用实例。
在这里插入图片描述
你发现新加入的节点也开始提供服务。整个过程都不需要停服务,实现真正的可伸缩,弹性服务管理。管理节点会自动管理单服务器运行多应用实例,多服务器运行多应用实例。

5、现在要把这些节点的服务对外提供。对外提供统一的IP,我们选择一个负载均衡工具haproxy。本人虚拟机资源有限,所以去了一个从节点来做负载均衡节点。
在这里插入图片描述
下线discovery-2这个服务器
在这里插入图片描述
在这里插入图片描述
需要停掉discovery-2的docker服务。在discovery-2从服务器节点上执行:
在这里插入图片描述
回到管理节点,发现discovery-2的状态为Down。再执行 :
在这里插入图片描述
在这里插入图片描述
启动discvoery-2节点的docker服务,为运行haproxy服务使用。
首先拉取haproxy服务。
在这里插入图片描述
编写Dockerfile文件,跟haproxy配置文件
Dockerfile文件内容:
在这里插入图片描述
haproxy文件内容:
在这里插入图片描述
这里指向我的三台服务器的8080端口。在Dockerfile目录下执行构建:
在这里插入图片描述
构建完后,测试配置文件是否配置正确:
在这里插入图片描述
运行haproxy镜像:
在这里插入图片描述
浏览器查看服务:
在这里插入图片描述
发现三个服务都正常运行。访问一下服务:
在这里插入图片描述
发现从负载均衡节点可以正常访问到后台的服务。关于负载均衡节点的可高用上面一样,这里就不多说了。
6、我们经常需要更新镜像,说下更新镜像,同样整个过程都不需要停服务。
在这里插入图片描述
一般的我们在创建一个服务的时候都会指定更新策略(查看 UpdateConfig属性)。
下面我们以redis 3.0.6版本来做更新测试。
在管理台节点执行:
在这里插入图片描述
在这里插入图片描述
现在更新到redis 3.0.7版本:
在这里插入图片描述
在这里插入图片描述
可以看到更新的结果是否成功:
在这里插入图片描述
同理回滚也一样,只是版本号不同而已。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值