云计算核心技术Docker教程:Docker集群节点如何工作

Docker Engine 1.12引入了swarm模式,使您可以创建一个或多个Docker Engine集群,称为swarm。一个群集由一个或多个节点组成:以群集模式运行Docker Engine 1.12或更高版本的物理机或虚拟机。

Docker Engine 1.12引入了swarm模式,使您可以创建一个或多个Docker Engine集群,称为swarm。一个群集由一个或多个节点组成:以群集模式运行Docker Engine 1.12或更高版本的物理机或虚拟机。

有两种类型的节点:管理者和 工人。

云计算核心技术Docker教程:Docker集群节点如何工作

管理者节点

管理器节点处理集群管理任务:

  • 维持集群状态
  • 调度服务
  • 服务群模式HTTP API端点

使用Raft实施,管理人员可以维护整个群集及其上运行的所有服务的一致内部状态。出于测试目的,可以由一个管理器运行一个集群。如果单管理器群中的管理器发生故障,那么您的服务将继续运行,但是您需要创建一个新的集群以进行恢复。

为了利用群体模式的容错功能,Docker建议您根据组织的高可用性要求实现奇数个节点。如果拥有多个管理器,则可以从管理器节点的故障中恢复,而无需停机。

  • 一个由三名经理组成的群体最多可以容忍一名经理的损失。
  • 五个管理器群最多可以同时丢失两个管理器节点。
  • 一个N管理器群集最多可以容忍管理器的丢失 (N-1)/2。
  • Docker建议最多为七个管理器节点。

工作节点

工作程序节点也是Docker Engine的实例,其唯一目的是执行容器。工作程序节点不参与Raft分布式状态,不制定调度决策或服务于群体模式HTTP API。

您可以创建一个由一个管理器节点组成的集群,但是如果没有至少一个管理器节点就不能有一个工作器节点。默认情况下,所有经理也是工人。在单个管理器节点集群中,您可以运行诸如之类docker service create的命令,而调度程序会将所有任务放置在本地引擎上。

为了防止调度程序将任务放置在多节点集群中的管理器节点上,请将管理器节点的可用性设置为Drain。调度程序会以Drain模式正常停止节点上的任务,并调度Active节点上的任务 。调度程序不会将新任务分配给具有Drain 可用性的节点。

给TA打赏
共{{data.count}}人
人已打赏
云计算

美国强生疫苗被暂停 康希诺回应:技术不同、未有血栓报告

2021-4-14 17:48:03

云计算

华尔街金融巨骗麦道夫狱中去世 一手谋划650亿美元惊天骗局

2021-4-15 8:56:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索