我们有一个高可用性设置,其中lvs在一组后端服务器(LVS 术语中为“真实服务器”)之间分发请求。LVS 由以下服务器管理:保持活跃。每个 realserver 都通过 HTTP 公开健康检查资源(基本上,如果您GET /info/health
对其中一个服务器说,它将以 或 响应healthy
)ill
,并且 keepalived 配置为每 15 秒轮询这些资源以检查 realserver 的健康状况。如果 realserver 变得不健康,keepalived 会将其在虚拟服务器表中的权重归零,因此不会向其发送任何流量。我相信,所有这些都相当正常。
有时,告诉 keepalived 对特定 realserver(或特定服务中的所有 realserver)进行健康检查非常有用现在,而不是等待下一个 15 秒点。有什么办法吗?
对于我们来说,这在部署操作期间很有用,我们希望立即对新的 realserver 进行健康检查并将其添加到池中,而不是等待它自然发生。
答案1
我认为这可以通过发送信号来完成HUP
:
pkill -HUP keepalived