2017-10-19 78 views
0

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

回答

1

当您停止容器时,注册服务器注销服务。如果您有该服务的多个实例,它不应该是一个问题。

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

无论如何,你真的不应该运行一个领事服务器 - https://www.consul.io/intro/index.html