停用节点

停用节点

如果您的节点以意外方式停工,您只需要 停用节点.

警告:仅在节点永远不会返回(例如,EC2 VM 销毁)时才应该停用节点 。节点停用后,对应的代理 ID 被内部标记为 GONE 并且不允许返回和在管理节点上重新注册。节点上运行的任何任务已过渡到 TASK_GONE_BY_OPERATOR 状态。

关闭节点

  1. (您希望关闭的)。

  2. 输入以下命令,停止节点。

  • 公共代理
  1. ⁠⁠⁠⁠sudo sh -c 'systemctl kill -s SIGUSR1 dcos-mesos-slave-public && systemctl stop dcos-mesos-slave-public'

停用节点

您应该在以下情况下停用节点。

  • 您在删除节点,尤其是删除多个节点时。DC/OS 配置为每 20 分钟仅允许标记一个节点为 UNREACHABLE ,所以,如果您不是明确地停用节点,可能需要较长时间 Mesos 才能将您的节点标记为 UNREACHABLE 并允许服务在另一节点上重新安排任务。

  • 如果您正使用有状态服务,如 DC/OS 数据服务. 有状态服务重新安排任务代价昂贵,所以服务需要在重新安排前知道代理不会再次返回在线。

  • 当节点以意外停工时。

从 DC/OS CLI 中输入以下命令,以告诉 Mesos 将节点标记为 .

  1. dcos node decommission <mesos-agent-id>

节点被停用后(这与使用 MARK_AGENT_GONE Mesos API 等同),节点将被告知执行以下任务:

  • 停止 Mesos 从进程(但它将被 自动重新启动)systemd)

关闭节点

如果 DC/OS 节点仍在运行,Mesos从进程将继续尝试注册(并且由于代理被标记为已消失,注册会被拒绝)。您可以通过停止 Mesos 从进程(以 单元运行),停止这些尝试。

  1. (您希望关闭的)。

  • 私有代理
  • 公共代理
  1. ⁠⁠⁠⁠sudo sh -c 'systemctl stop dcos-mesos-slave-public'