云计算核心技术Docker教程:Docker集群管理群中的节点

作为群集管理生命周期的一部分,您可能需要按以下方式查看或更新节点

列出节点

要从docker node ls管理器节点查看swarm中运行的节点列表:

$ docker node ls

ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS

46aqrk4e473hjbt745z53cr3t node-5 Ready Active Reachable

该AVAILABILITY列显示调度程序是否可以将任务分配给节点:

Active 意味着调度程序可以将任务分配给节点。

Pause 意味着调度程序不会将新任务分配给该节点,但是现有任务仍在运行。

Drain意味着调度程序不会将新任务分配给该节点。调度程序将关闭所有现有任务,并将它们调度在可用节点上。

该MANAGER STATUS列显示节点参与Raft共识:

无值表示不参与群集管理的工作程序节点。

Leader 表示该节点是主要管理者节点,负责为该群做出所有群管理和编排决策。

Reachable表示该节点是参与Raft共识仲裁的管理者节点。如果领导者节点不可用,则该节点有资格被选举为新的领导者。

Unavailable表示该节点是无法与其他管理器进行通信的管理器。如果管理器节点不可用,则应将新的管理器节点加入群集,或将工作器节点提升为管理器。

检查单个节点

您可以docker node inspect在管理器节点上运行以查看单个节点的详细信息。输出默认为JSON格式,但是您可以传递该–pretty标志以人类可读的格式打印结果。

更新节点

更改节点可用性

通过更改节点可用性,您可以:

排空管理器节点,以便仅执行群集管理任务,并且无法进行任务分配。

排空节点,以便将其卸下进行维护。

暂停节点,使其无法接收新任务。

恢复不可用或已暂停的节点可用状态。

例如,要将管理器节点更改为Drain可用性:

$ docker node update –availability drain node-1

node-1

添加或删除标签元数据

节点标签提供了一种灵活的节点组织方法。您还可以在服务约束中使用节点标签。创建服务时应用约束,以限制计划程序为该服务分配任务的节点。

docker node update –label-add在管理器节点上运行,以将标签元数据添加到节点。该–label-add标志支持一个或一=对。

–label-add为要添加的每个节点标签传递一次标志:

$ docker node update –label-add foo –label-add bar=baz node-1

node-1

您使用docker node update为节点设置的标签仅适用于群集内的节点实体。不要将它们与dockerd的docker守护进程标签 混淆。

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

7张图,看懂数据分析如何助力运营

2021-4-21 16:15:20

云计算

医院员工接种疫苗仍感染 官方通报调查结果

2021-4-21 17:56:15

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