docker swarm 集群部署和验证

docker swarm可以轻松的部署集群,实现负载均衡,服务器的扩容和扩容的反义词.
首先docker的官方文档非常的不稳定,梯子也不解决问题.还好有替代

docs.docker.com 用不了
https://docs.docker.com.zh.xy2401.com/engine/swarm/swarm-tutorial/ 很好

场景:

三台机器 x.x.x.104 x.x.x.103 x.x.x.107
104为 manager ,103,107为worker .他们三个为集群的节点

前提条件.

每个节点(node)都开放端口:
用于群集管理通信的TCP端口2377
TCP和UDP端口7946,用于节点之间的通信
UDP端口4789,用于覆盖网络流量

环境搭建步骤:

1设置hostname

在查看集群信息的时候会列出每个节点的hostname, 为了方面给每台机器设置hostname ,执行命令 分别为:
hostnamectl set-hostname swarmManager104
hostnamectl set-hostname swarmWorker107
hostnamectl set-hostname swarmWorker103

2三台机器分布安装docker

3在manager上执行创建集群的命令 (这里默认使用了ingress 网络)

docker swarm init --advertise-addr x.x.x.104 ,会得到加入集群的命令,复制下来

4在两台worker上执行 上一步得到的命令. 加入集群

5搭建完成,还没有部署服务. 以下是一些常用命令

docker service ls 查看集群上在运行的所有服务
docker service ps xxx 查看服务xxx
docker service inspect xxx 查看xxx服务的详细信息
docker service rm xxx 删除xxx服务
docker service logs --follow xxx 滚动查看xxx的日志
docker service scale xxx=2 增加或减少集群节点(指定集群的节点数)
docker swarm leave worker离开节点
docker swarm leave --force manager离开节点

验证步骤:

1 部署whoami

manager上执行 docker service create --name whoami -p 8000:8000 --network demoa -d jwilder/whoami
缺省了 --replicas参数, 默认是1,即在集群上找到一个node部署whoami服务

2 查看结果

manager执行docker service ls 看到一个node在运行服务
在这里插入图片描述
执行docker service ps whoami
在这里插入图片描述
可以看到是107在运行

2 打开监控日志

manager执行docker service logs --follow whoami 监控日志

3 浏览器访问

http://x.x.x…104:8000
http://x.x.x…103:8000
http://x.x.x…107:8000
在这里插入图片描述
会发现访问集群的每个节点都可以得到107的containerId

在这里插入图片描述
即swarm内部的路由实现了负载均衡的能力.
这时候可以再探索下docker service scale命令. 效果会跟预期一致

参考:

https://www.modb.pro/db/15196
https://www.codercto.com/a/37242.html
https://mswiderski.blogspot.com/2016/12/kie-server-router-even-more-flexibility.html

ps:一级标题二级标题真好用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值