采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,您先说的swarm集群不适合数据库的环境,
后面的图形化界面的部署,也是用的swarm集群的方式,
如何只用swarm集群的共享网络,而不是用swarm的集群呢?
同学你好,如果采用swarm管理数据库节点会导致严重的后果。因为数据库的容器是有状态的,保存了重要数据。swarm管理的方式是发现有一个数据库节点宕机了,管理节点会在swarm集群中任意一个docker上创建一个数据库容器节点加到pxc集群中,看似非常棒的方案,但是后果很严重。新节点里面没有任何数据,所以要与数据库其他节点进行全量同步,假设要同步1TB的数据,这时候pxc集群会对写入执行限速,直到全量同步结束,因为数据量太大,所以限速会持续很长时间,影响正常业务。因此说数据库集群的管理应该采用人为管理,而不是swarm自动管理,所以我们只用到了swarm附带的共享网络。
老师,怎么只是用swarm附带的共享网络, 我看您视频的操作还是建立了swarm的群集,并且加入到了overlay的网络 如何关闭swarm自动管理?
同学你好,我们虽然组建了docker swarm,也开启了共享网络,但是想要让swarm接管容器,创建容器的时候需要加上--replicas 3,意思是说这个容器的实例要在swarm集群中保持3个。管理节点会随意挑选三个docker,然后自动传输镜像,以及启动容器。有一个容器宕机,管理节点会启动新的容器,始终保持三个容器运行。当然了,replicas后面的数字是自己定义的,需要多少就写上多少。最后再回看我们创建容器,没有使用replicas这个参数,所以管理节点是不理会容器宕机的,宕机就宕机,这正好试用数据库集群。
好得,了解.感谢老师
登录后可查看更多问答,登录/注册
手把手带你学会项目分布式集群部署,让你的系统不再惧怕宕机
1.3k 28
1.8k 26
1.2k 25
1.5k 24
1.4k 21
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号