首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

节点如何工作 | How nodes work (Engine)

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

有两种类型的节点:经理工人

如果您尚未阅读群体模式概述和关键概念。

管理器节点

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

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

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

为了利用群模式的容错功能,Docker 建议您根据贵组织的高可用性要求实施奇数个节点。当你有多个管理器时,你可以在没有停机时间的情况下从管理器节点的故障中恢复。

  • 三管理者群体容忍一名管理人员的最大损失。
  • 五管理者群体最多可同时丢失两个管理节点。
  • 一个N经理集群将容忍最多损失(N-1)/2经理。
  • Docker 推荐一个群体最多有七个管理节点。

重要提示:添加更多管理者并不意味着可扩展性或更高的性能。一般来说,情况正好相反。

工人节点

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

您可以创建一个管理节点群,但不能有一个没有至少一个管理节点的工作节点。默认情况下,所有经理都是工人。在单个管理器节点集群中,您可以像运行命令那样运行命令docker service create,而且计划程序将把所有任务放在本地引擎上。

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

请参阅docker node update命令行参考以了解如何更改节点可用性。

改变角色

您可以通过运行将工作节点提升为管理员docker node promote。例如,当您将管理器节点离线进行维护时,您可能需要升级工作节点。请参阅节点宣传。

您也可以将管理器节点降级为工作节点。请参阅节点降级。

学到更多

  • 了解群集模式服务如何工作。
  • 了解 PKI 如何在群集模式下工作。

扫码关注腾讯云开发者

领取腾讯云代金券