配置consul以进行动态健康检查服务

问题描述 投票:0回答:1

我有一个带有2个主机的consul堆栈(用于测试)。 1个主机仅在引导模式下运行consul,另一个主机使用Registrator运行客户端模式以自动注册服务(均在docker上运行)。现在,如果我启动一个应用程序(例如端口8080)容器,Registrator将检测然后将其注册到consul,但它没有我想要的http检查。我发现Registrator有自动注册健康检查的选项是将SERVICE_8080_CHECK_HTTP: '/'添加到应用程序容器,它工作得很好。在这一点上我有一个问题,如果我docker stop应用程序容器,没有这个应用程序的健康检查所以我无法获得状态写一些东西警报或替换失败的应用程序。所以问题是,我怎样才能获得动态健康检查服务,但仍然获得状态passing or failed or warning or critical谢谢

python consul
1个回答
1
投票

当您停止容器时,Registrator会取消注册该服务。如果您有该服务的多个实例,那应该不是问题。

如果这是您的用例,请不要使用Registrator进行服务注册,您可以使用Consul的HTTP API注册服务或包含代理的服务定义文件。

无论如何,你真的不应该运行一个Consul服务器 - qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.