原标题:云计算核心技术Docker教程:Docker Swarm 模式管理集群更新一个节点
更改节点可用性
更改节点可用性可让您:
排空管理器节点,以便仅执行群管理任务,不可用于任务分配。
排空一个节点,以便您可以将其关闭以进行维护。
暂停一个节点,使其无法接收新任务。
恢复不可用或暂停的节点可用状态。
例如,要将管理器节点更改为Drain可用性:
$ docker node update --availability drain node-1
添加或删除标签元数据
节点标签提供了一种灵活的节点组织方法。您还可以在服务约束中使用节点标签。创建服务时应用约束以限制调度程序为服务分配任务的节点。
docker node update --label-add在管理节点上运行以向节点添加标签元数据。该--label-add标志支持一=对或一对。
--label-add为要添加的每个节点标签传递一次标志:
$ docker node update --label-add foo --label-add bar=baz node-1
您使用 docker node update 为节点设置的标签仅适用于 swarm 中的节点实体。不要将它们与dockerd 的 docker守护进程标签 混淆。
因此,节点标签可用于将关键任务限制在满足特定要求的节点上。例如,仅在应运行特殊工作负载的机器上进行调度,例如满足PCI-SS 合规性的机器。
被破坏的节点无法危害这些特殊的工作负载,因为它无法更改节点标签。
然而,引擎标签仍然有用,因为一些不影响容器安全编排的功能可能会更好地以分散的方式设置。例如,一个引擎可以有一个标签来表明它具有某种类型的磁盘设备,这可能与安全性没有直接关系。这些标签更容易被群协调器“信任”。
提升或降级节点
您可以将工作节点提升为经理角色。当管理器节点变得不可用或您想让管理器脱机进行维护时,这很有用。同样,您可以将管理节点降级为辅助角色。
要提升一个节点或一组节点,请docker node promote从管理器节点运行:
$ docker node promote node-3 node-2
要降级一个节点或一组节点,请docker node demote从管理器节点运行:
$ docker node demote node-3 node-2
docker node promote并且docker node demote是为了方便的命令 docker node update --role manager和docker node update --role worker 分别。