耗尽的 Docker Swarm Manager 节点是否仍参与路由网格(入口网络)?
Does a drained Docker Swarm Manager Node still participate the routing mesh (ingress network)?
只是想知道一个耗尽的管理器节点是否仍然参与 described routing mesh。
让我们假设 node3
已耗尽。 my-web.1
服务是否仍可通过 HAProxy
-> node3
-> my-web.1
访问?
当一个节点耗尽时,其上的所有现有任务 运行 都将停止并在 ACTIVE
个节点上 运行。此外,被耗尽的节点将无法从 swarm 管理器接收新任务。
但是,耗尽的节点仍然参与路由网格,您的服务 my-web.1
仍然可以从 node3
访问。
参考:https://docs.docker.com/engine/swarm/swarm-tutorial/drain-node/
以下是我为确认该行为所做的工作:
- 为一个简单的 Flask 应用程序创建了一个包含 3 个副本的服务。我运行这里有两个节点。
- 任务分布在两个节点上。我可以从两个节点的 IP 地址访问我的烧瓶应用程序。
- 我已将其中一个节点的可用性设置为
DRAIN
,其中的所有flask app任务都停止并在另一个活动节点上创建。
- 我仍然可以从漏节点的IP地址访问flask应用程序。此外,服务日志显示来自耗尽节点 IP 地址的请求。
只是想知道一个耗尽的管理器节点是否仍然参与 described routing mesh。
让我们假设 node3
已耗尽。 my-web.1
服务是否仍可通过 HAProxy
-> node3
-> my-web.1
访问?
当一个节点耗尽时,其上的所有现有任务 运行 都将停止并在 ACTIVE
个节点上 运行。此外,被耗尽的节点将无法从 swarm 管理器接收新任务。
但是,耗尽的节点仍然参与路由网格,您的服务 my-web.1
仍然可以从 node3
访问。
参考:https://docs.docker.com/engine/swarm/swarm-tutorial/drain-node/
以下是我为确认该行为所做的工作:
- 为一个简单的 Flask 应用程序创建了一个包含 3 个副本的服务。我运行这里有两个节点。
- 任务分布在两个节点上。我可以从两个节点的 IP 地址访问我的烧瓶应用程序。
- 我已将其中一个节点的可用性设置为
DRAIN
,其中的所有flask app任务都停止并在另一个活动节点上创建。 - 我仍然可以从漏节点的IP地址访问flask应用程序。此外,服务日志显示来自耗尽节点 IP 地址的请求。