如上图所示:
场景需求:1)使用consul server来存储集群的kv信息并保证server的高可用,2)应用服务高可用。
这张图里包含了3个集群,分为2个层次: 第1层:虚拟机实体集群 首先是3台vm组成的安装consul server的swarm集群, 然后是3台vm组成的安装consul agent的swarm集群, 第2层:consul应用虚拟集群 再然后是3台consul server加3台consul agent组成的consul集群
欢迎讨论各位的部署场景。
如上图所示:
场景需求:1)使用consul server来存储集群的kv信息并保证server的高可用,2)应用服务高可用。
这张图里包含了3个集群,分为2个层次: 第1层:虚拟机实体集群 首先是3台vm组成的安装consul server的swarm集群, 然后是3台vm组成的安装consul agent的swarm集群, 第2层:consul应用虚拟集群 再然后是3台consul server加3台consul agent组成的consul集群
欢迎讨论各位的部署场景。
@m3shine 是的,无状态,无隶属关系的都可以这么部署。
有状态的服务不行,服务挂掉之后,swarm拉起的时候,服务运行的实体机器可能会更换,存储也就跟着变,需要解决分布式存储和对应的docker插件,部署方式也比无状态的麻烦,也不满足可扩展,只能满足高可用。
其实docker swarm局限性还是蛮大的,不过对无状态的部署的确很简单。
@coordcn 另外,用1.13版docker的deploy方式部署到swarm mode的场景,应用在集群中显示的是vip,deploy也是适合部署nginx之类的吧。
@m3shine 思路很清晰,过程非常详细,看你的文章照做就可以完成整个集群部署了。
docker swarm mode 适合部署类似nginx这种没有状态的集群,对有集群内隶属关系的还要单独部署,我正在做这方面快速部署的研究,最终解决有状态服务(数据库等)的自动部署和扩容。
你的图片是用什么画的?
@coordcn @i5ting 我整理了几次思路,写了篇文章,欢迎莅临指导: https://segmentfault.com/a/1190000011009638
@coordcn 就是说用swarm mode而不用Docker swarm?
使用docker swarm自带kv存储,这样你就不需要额外部署docker swarm自身使用的consul集群。