从零开始学习docker(十五)Swarm mode 介绍
一般情况下,我们都在一台机器下部署容器,但实际情况下,应用如果只在一台机器上无法满足我们的需求,包含的容器比较多。因此在生产环境下部署我们的应用就会涉及到非常多的容器,这样就会给我们带来一系列的问题: 怎么去管理这么多的容器? 怎么能方便的横向扩展? 如果容器down了,怎么能自动恢复? 如何去更新容器而不影响业务? 如何去监控追踪这些容器? 怎么去调度容器的创建? 保护隐私数据? 这样我们就需要容器编排技术,Swarm Mode应运而生。 Swarm 并不是唯一一个可以做容器编排的工具,只不过Swarm是内置于docker的一个工具。因此我们使用Swarm时不需要安装任何东西,Swarm已经内置到我们系统里面了,只不过我们没有运行在Swarm 模式下,我们一般运行在单机模式下。因此swarm就是初学者接触容器编排的第一个工具。 Swarm 架构 Swarm是一种集群架构,既然是集群,那么一定有节点,有节点那么就有角色。在Swarm中节点node一共有两种角色,第一种角色叫Manager,第二种角色叫worker。 Manager节点好比集群的大脑,在生产环境中,为了避免单点故障,“大脑”至少要有两个,因此会有状态同步,即在一个Manager产生的数据如何同步到另外的Manager节点上,这里就涉及到一个内置的分布式存储数据库,数据通过raft协议去做同步