返回介绍

概述

发布于 2020-09-14 13:05:51 字数 1597 浏览 1117 评论 0 收藏 0

Docker在1.12.0和以上版本中增加了swarm模式。通过swarm模式管理的Docker Engines集群称之为“Swarm”。并可以通过Docker CLI来创建Swarm,在Swarm中部署应用服务,以及管理Swarm。

功能特点

  • 在Docker Engines中集成了集群管理功能:通过Docker CLI可以创建一个用来发布应用servicesswarm,而不需要安装其他任何额外的软件来管理swarm

  • 分散式设计:与在部署时确定节点角色的处理方式不同,Docker Engines在运行时才会有节点角色的区分。我们可以把节点部署成为即是mananger节点同样也是worker节点,这意味着我们可以在一个单一的磁盘镜像上创建一个Swarm。

  • 规模扩展和收缩:对于每一个service可以定义运行task的数量,即service的运行规模。当我们对service运行的数量进行调整时,manager节点会自动的增加或者移除task来实现我们所指定的service运行规模。

  • 状态维持:manager节点会不断的监视我们设定的swarm的状态和实际状态的变化。例如,我们设定一个service的一个container需要有10个副本,但是其中保存2个副本的workder节点崩溃了,这是manager节点会在其他可用的worker节点上分配两个新副本,并将崩溃的副本移除掉。

  • 多宿主机网络:可以指定overlay network给所有的service。当初始化时或者更新应用时,manager节点会为每一个container分配一个在overlay network上的地址。

  • 服务发现:manager节点会为每一个swarm中的service分配一个唯一的DNS name,对service的调用会通过负载均衡策略,指向其中一个container上。我们可以通过swarm内部的DNS服务器查询到swarm中正在运行的每一个container。

  • 负载均衡:我们可以通过暴露service的端口给外部的负载均衡设备。而在swarm内部我们可以指定service的container如何在节点上分布。

  • 默认安全机制:在swarm中节点和节点间的通信强制使用TLS协议进行安全通信。用户可以使用自己签署的证书,或者其他CA中心的证书。

  • 回滚更新:在发布应用服务更新时,部署的更新会从一个节点逐渐蔓延到整个swarm。manager节点可以让你控制蔓延的时延,一但更新过程中发生问题,可以使task回滚到之前的一个版本。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文