通过 varnishadm 禁用清漆健康检查

Disable varnish health check via varnishadm

我设置了清漆。我想在清漆中禁用后端,同时一台一台地更新服务器。有一种方法可以做到,通过健康检查,但是如果我的健康检查是每 20 秒一次,那么在最坏的情况下仍然会有 20 秒的停机时间。我发现通过 varnishadm 我可以设置后端的运行状况。例如:

varnishadm backend.set_health backend1 sick

问题是,当我这样做时,varnish 仍然发送健康检查并将后端设置为健康。有办法暂时禁用健康检查吗?

varnishadm backend.list

的输出是什么

我的是这样的:

varnish> backend.list
200
Backend name                   Admin      Probe
84941fd7f319.default           probe      Healthy 4/5

varnish> backend.set_health default sick
200

varnish> backend.list
200
Backend name                   Admin      Probe
84941fd7f319.default           sick       Healthy 5/5

如您所见,我们首先从启用探测的健康后端开始,然后我们将其标记为异常,并且它会被管理员 PoV 视为异常,但某种探测记录仍然可用。 最重要的是,没有请求会被发送到后端标记为生病。