Swarm 特点:

  1. Docker Engine 集成集群管理 使用Docker Engine CLI 创建一个Docker Engine的Swarm模式,在集群中部署应用程序服务。
  2. 去 中心化设计 Swarm角色分为Manager和Worker节点,Manager节点故障不影响应用使用。
  3. 扩容缩容 可以声明每个服务运行的容器数量,通过添加或删除容器数自动调整期望的状态。
  4. 期望 状态 协调 Swarm Manager节点不断监视集群状态,并调整当前状态与期望状态之间的差异。例如,设置一个服务运行10个副本容器,如果两个副本的服 务器节点崩溃,Manager将创建两个新的副本替代崩溃的副本。并将新的副本分配到可用的worker节点。
  5. 多 主机网络 可以为服务指定overlay网络。当初始化或更新应用程序时,Swarm manager会自动为overlay网络上的容器分配IP地址。
  6. 服务 发现 Swarm manager节点为集群中的每个服务分配唯一的DNS记录和负载均衡VIP。可以通过Swarm内置的DNS服务器查询集群中每个运行的容器。
  7. 负载均衡 实现服务副本负载均衡,提供入口访问。也可以将服务入口暴露给外部负载均衡器再次负载均衡。
  8. 安全 传输 Swarm中的每个节点使用TLS相互验证和加密,确保安全的其他节点通信。
  9. 滚动 更新 升级时,逐步将应用服务更新到节点,如果出现问题,可以将任务回滚到先前版本。 使用swarm 要保证2377(manger和worker 之间的通信端口)tcp/udp 7946(worke 节点之间)和4789(overlay 网络之间的通信)