Docker容器集群服务Swarm
Docker Swarm提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案。使用Swarm,用户可以将多个Docker主机抽象为大规模虚拟Docker服务,快速打造一套容器云平台。
一、Swarm简介
Swarm支持超过1000个节点,作为容器集群管理器,Swarm最大的优势之一就是原生支持Docker API,各种基于标准API的工具比如Compose、Docker本身等可以与Swarm进行集成。方便了用户将原先基于单节点的系统移植到Swarm上。同时Swarm内置了对Docker网络插件的支持,用户可以很容易地部署跨主机的容器集群服务。
Swarm采用了典型的主从结构,通过Raft协议来在多个管理节点(Manager)中实现共识。工作节点(Worker)上运行agent接受管理节点的统一管理和任务分配。用户提交服务请求只发给管理节点即可,管理节点会按照调度策略在集群中分配节点来运行服务相关的任务。
集群中会自动通过Raft协议分布式选举出Manager节点,无需额外的发现服务支持,避免了单点瓶颈。Swarm中集成了负载均衡机制。
二、Swarm基本概念
Swarm在Docker基础上扩展了支持多节点的能力,同时兼容了大部分的Docker操作。Swarm中以集群为单位进行管理,支持服务层面的操作。
1.Swarm集群
Swarm集群(Cluster)为一组被统一管理起来的Docker主机。集群是Swarm所管