管理swarm(1) – swarm模式概述

要Docker Engine在swarm模式下使用,需要从https://github.com/docker/docker/releases安装Docker Engine v1.12.0或更高的版本。或者安装最新版本的Docker for Mac或Docker for Windows Beta。
Docker Engine 1.12引入了本地管理Docker Engines集群的swarm模式,称为swarm。使用Docker CLI创建一个swarm,部署应用服务到swarm和管理swarm行为。

主要功能

  • 集群管理与Docker Engine集成:使用Docker Engine CLI来创建一个你能部署应用服务到Docker Engine的swarm。你不需要其他编排软件来创建或管理swarm。
  • 分散式设计:Docker Engine不是在部署时处理节点角色之间的差异,而是在运行时扮演自己角色。你可以使用Docker Engine部署两种类型的节点,管理器和worker。这意味着你可以从单个磁盘映像构建整个swarm。
  • 声明性服务模型: Docker Engine使用声明性方法来定义应用程序堆栈中各种服务的所需状态。例如,你可以描述由消息队列服务和数据库后端的Web前端服务组成的应用程序。
  • 伸缩性:对于每个服务,你可以声明要运行的任务数。当你向上或向下缩放时,swarm管理器通过添加或删除任务来自动适应,以保持所需状态。
  • 期望的状态协调:swarm管理器节点持续监控群集状态,并调整你描述的期望状态与实际状态之间的任何差异。 例如,如果设置运行一个10个副本容器的服务,这时worker机器托管其中的两个副本崩溃,管理器则将创建两个新副本以替换已崩溃的副本。 swarm管理器将新副本分配给正在运行和可用的worker。
  • 多主机网络:你可以为服务指定覆盖网络(overlay network)。 当swarm管理器初始化或更新应用程序时,它会自动为容器在覆盖网络(overlay network)上分配地址。
  • 服务发现:Swarm管理器节点为swarm中的每个服务分配唯一的DNS名称,并负载平衡运行中的容器。 你可以通过嵌入在swarm中的DNS服务器查询在swarm中运行中的每个容器。
  • 负载平衡:你可以将服务的端口暴露给外部的负载均衡器。 在内部,swarm允许你指定如何在节点之间分发服务容器。
  • 安全通信:swarm中的每个节点强制执行TLS相互验证和加密,以保护其自身与所有其他节点之间的通信。 你可以选择使用自签名根证书或来自自定义根CA的证书。
  • 滚动更新:在上线新功能期间,你可以增量地应用服务更新到节点。 swarm管理器允许你控制将服务部署到不同节点集之间的延迟。 如果出现任何问题,你可以将任务回滚到服务的先前版本。
  • 标签:Swarm 发布于:2019-11-20 10:54:23