请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

swarm集群

老师,您先说的swarm集群不适合数据库的环境,

后面的图形化界面的部署,也是用的swarm集群的方式,

如何只用swarm集群的共享网络,而不是用swarm的集群呢?

正在回答

1回答

同学你好,如果采用swarm管理数据库节点会导致严重的后果。因为数据库的容器是有状态的,保存了重要数据。swarm管理的方式是发现有一个数据库节点宕机了,管理节点会在swarm集群中任意一个docker上创建一个数据库容器节点加到pxc集群中,看似非常棒的方案,但是后果很严重。新节点里面没有任何数据,所以要与数据库其他节点进行全量同步,假设要同步1TB的数据,这时候pxc集群会对写入执行限速,直到全量同步结束,因为数据量太大,所以限速会持续很长时间,影响正常业务。因此说数据库集群的管理应该采用人为管理,而不是swarm自动管理,所以我们只用到了swarm附带的共享网络。

0 回复 有任何疑惑可以回复我~
  • 提问者 shalama #1
    老师,怎么只是用swarm附带的共享网络,
    我看您视频的操作还是建立了swarm的群集,并且加入到了overlay的网络
    如何关闭swarm自动管理?
    回复 有任何疑惑可以回复我~ 2018-06-16 14:55:57
  • 同学你好,我们虽然组建了docker swarm,也开启了共享网络,但是想要让swarm接管容器,创建容器的时候需要加上--replicas 3,意思是说这个容器的实例要在swarm集群中保持3个。管理节点会随意挑选三个docker,然后自动传输镜像,以及启动容器。有一个容器宕机,管理节点会启动新的容器,始终保持三个容器运行。当然了,replicas后面的数字是自己定义的,需要多少就写上多少。最后再回看我们创建容器,没有使用replicas这个参数,所以管理节点是不理会容器宕机的,宕机就宕机,这正好试用数据库集群。
    回复 有任何疑惑可以回复我~ 2018-06-16 16:33:09
  • 提问者 shalama 回复 神思者 #3
    好得,了解.感谢老师
    回复 有任何疑惑可以回复我~ 2018-06-16 18:21:24
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信