Consul 注销 'failing' 服务
Consul deregister 'failing' services
我在 Mesos 的 Consul v0.5.2 版本和服务 运行 上有 consul 运行。服务不断从一台服务器转移到另一台服务器。
有没有办法在处于 'failing' 状态的 consul 中注销服务?我可以使用此 curl
获取处于失败状态的服务列表
curl http://localhost:8500/v1/health/state/critical
我们在一段时间内看到的问题是在 consul UI 我们有陈旧的数据并使整个 UI 无法使用
默认情况下,Consul 不会注销不健康的服务,而是将它们标记为关键服务。
从 Consul 0.7 开始,有一个特殊选项 (deregister_critical_service_after
) 允许您定义不健康服务将被注销后的时间
来自领事0.7 Changelog
Automatic Service Deregistration: Added a new
deregister_critical_service_after
timeout field for health checks
which will cause the service associated with that check to get
deregistered if the check is critical for longer than the timeout.
This is useful for cleanup of health checks registered natively by
applications, or in other situations where services may not always be
cleanly shutdown. GH-679
如果你正在使用 Marathon 那么你可以考虑使用 allegro/marathon-consul 它会在任务失效时取消注册任务
除了 janisz 所说的,您还可以 运行 您在 Nomad 中的服务,Nomad 会自动为您注册和注销您的服务。有关更多详细信息,请参阅 Nomad Service Discovery 文档。
我在 Mesos 的 Consul v0.5.2 版本和服务 运行 上有 consul 运行。服务不断从一台服务器转移到另一台服务器。
有没有办法在处于 'failing' 状态的 consul 中注销服务?我可以使用此 curl
获取处于失败状态的服务列表curl http://localhost:8500/v1/health/state/critical
我们在一段时间内看到的问题是在 consul UI 我们有陈旧的数据并使整个 UI 无法使用
默认情况下,Consul 不会注销不健康的服务,而是将它们标记为关键服务。
从 Consul 0.7 开始,有一个特殊选项 (deregister_critical_service_after
) 允许您定义不健康服务将被注销后的时间
来自领事0.7 Changelog
Automatic Service Deregistration: Added a new
deregister_critical_service_after
timeout field for health checks which will cause the service associated with that check to get deregistered if the check is critical for longer than the timeout. This is useful for cleanup of health checks registered natively by applications, or in other situations where services may not always be cleanly shutdown. GH-679
如果你正在使用 Marathon 那么你可以考虑使用 allegro/marathon-consul 它会在任务失效时取消注册任务
除了 janisz 所说的,您还可以 运行 您在 Nomad 中的服务,Nomad 会自动为您注册和注销您的服务。有关更多详细信息,请参阅 Nomad Service Discovery 文档。