V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daocloud
V2EX  ›  程序员

你是否真的了解 Docker Swarm?

  •  
  •   daocloud ·
    DaoCloud · 2016-04-07 11:23:58 +08:00 · 2517 次点击
    这是一个创建于 2943 天前的主题,其中的信息可能已经有所发展或是发生改变。

    深入浅出 Docker Swarm | DaoCloud 现推出 Docker Swarm 系列技术文章,为大家深入浅出地解读 Docker Swarm 的概念、使用方法以及最真实的案例分析。全系列共五篇,敬请期待。

    Docker 的集群扩展和容器调度

    世界上最具创新力的公司都在使用微服务架构,不过都只是把应用的服务做了松散耦合。这也导致了必须要管理大量服务的新复杂性,从而需要在企业内部寻求引入容器化。

    那些寻求 build 、 ship 、 run 「 Docker 化」应用的企业,需要工具来管理他们的资源和容器。 Docker 提供了「 End-to-End 」的集成编排能力,从自动化主机分发和主机集群,到多容器应用定义和容器调度。

    Docker Swarm 是一个为 IT 运维团队提供集群和调度能力的编排工具。用户可以把集群中所有 Docker Engine 整合进一个「虚拟 Engine 」的资源池,通过执行命令与单一的主 Swarm 进行沟通,而不必分别和每个 Docker Engine 沟通。在灵活的调度策略下, IT 团队可以更好地管理可用的主机资源,保证应用容器的高效运行。

    任何规模都有高性能表现

    对于企业级的 Docker Engine 集群和容器调度而言,可拓展性是关键。任何规模的公司——不论是拥有五个还是上千个服务器——都能在其环境下有效使用 Swarm 。

    经过测试, Swarm 可拓展性的极限是在 1000 个节点上运行 50000 个部署容器,每个容器的启动时间为亚秒级,同时性能无减损。

    灵活的容器调度

    Swarm 帮助 IT 运维团队在有限条件下将性能表现和资源利用最优化。 Swarm 的内置调度器( scheduler )支持多种过滤器,包括:节点标签,亲和性和多种容器部策略如 binpack 、 spread 、 random 等等。

    比如,如果 IT 团队想把封装最小化,就可以使用 binpack , binpack 可以把每个节点加载到最大量,然后才去部署下一个节点。 Spread 采取均衡策略,将容器平均部署到一系列复杂节点上。 Random 允许团队在集群里随机部署到节点。这种灵活性让 IT 运维团队可以选择最适合自身工作环境的运行策略。

    服务的持续可用性

    企业与内外用户达成的服务水平协议,对公司应用环境的高可用性提出了很高的要求。宕机不仅会招致客户的不满,严重的还会伤害到经济利益。

    Docker Swarm 由 Swarm Manager 提供高可用性,通过创建多个 Swarm master 节点和制定主 master 节点宕机时的备选策略。如果一个 master 节点宕机,那么一个 slave 节点就会被升格为 master 节点,直到原来的 master 节点恢复正常。

    此外,如果某个节点无法加入集群, Swarm 会继续尝试加入,并提供错误警报和日志。在节点出错时, Swarm 现在可以尝试把容器重新调度到正常的节点上去。

    和 Docker API 及整合支持的兼容性

    Swarm 对 Docker API 完全支持,这意味着它能为使用不同 Docker 工具(如 Docker CLI , Compose , Trusted Registry , Hub 和 UCP )的用户提供无缝衔接的使用体验。

    Docker Swarm 为 Docker 化应用的核心功能(诸如多主机网络和存储卷管理)提供原生支持。开发的 Compose 文件能(通过 docker-compose up )轻易地部署到测试服务器或 Swarm 集群上。 Docker Swarm 还可以从 Docker Trusted Registry 或 Hub 里 pull 并 run 镜像。

    综上所述, Docker Swarm 提供了一套高可用 Docker 集群管理的解决方案,完全支持标准的 Docker API ,方便管理调度集群 Docker 容器,合理充分利用集群主机资源。

    下期预告: Swarm 与 Riemann 的集群实时监控

    敬请期待 😊

    5 条回复    2016-04-11 10:59:19 +08:00
    ssoftlns
        1
    ssoftlns  
       2016-04-07 14:25:14 +08:00
    翻译的挺好 赞
    zacard
        2
    zacard  
       2016-04-07 18:17:54 +08:00 via iPhone
    刚好想了解,赞
    just4test
        3
    just4test  
       2016-04-08 06:42:00 +08:00
    这玩意是不是在墙国不太好用
    daocloud
        4
    daocloud  
    OP
       2016-04-11 10:59:09 +08:00
    @ssoftlns 感谢您的支持!
    daocloud
        5
    daocloud  
    OP
       2016-04-11 10:59:19 +08:00
    @zacard 感谢对我们的支持!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3163 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:08 · PVG 21:08 · LAX 06:08 · JFK 09:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.