朋友我想知道如何知道一个服务示例已经准备好服务?示例启动过程中是否有自定义健康检查的接口?谢谢
qni6mghb1#
你可以使用healthcheck,但也有一个readinesschecks。https://github.com/mesosphere/marathon/blob/master/docs/docs/readiness-checks.md升级策略中还有最小健康容量https://mesosphere.github.io/marathon/docs/rest-api.html#upgrade-战略
dba5bblo2#
请看一下下面的文件https://mesosphere.github.io/marathon/docs/health-checks.html您可以实现各种检查,不仅在http端点上,而且在tcp。。。例如,如果您正在启动停靠的mysql服务,则可以对tcp端口3306执行运行状况检查,以验证mysql是否已实际启动并可访问:
"healthChecks": [ { "portIndex": 0, "protocol": "TCP", "intervalSeconds": 1, "timeoutSeconds": 2, "maxConsecutiveFailures": 5 } ]
为了保持活力 portIndex 这很重要。例如,您使用docker的桥接网络,marathon自动选择端口(您只在端口上公开),然后 portIndex 需要设置为1。此外,如果您希望在启动时立即进行运行状况检查(即,该任务不应被视为 RUNNING 在一切就绪之前),您需要忽略 gracePeriodSeconds 参数。
portIndex
RUNNING
gracePeriodSeconds
2条答案
按热度按时间qni6mghb1#
你可以使用healthcheck,但也有一个readinesschecks。https://github.com/mesosphere/marathon/blob/master/docs/docs/readiness-checks.md
升级策略中还有最小健康容量https://mesosphere.github.io/marathon/docs/rest-api.html#upgrade-战略
dba5bblo2#
请看一下下面的文件
https://mesosphere.github.io/marathon/docs/health-checks.html
您可以实现各种检查,不仅在http端点上,而且在tcp。。。例如,如果您正在启动停靠的mysql服务,则可以对tcp端口3306执行运行状况检查,以验证mysql是否已实际启动并可访问:
为了保持活力
portIndex
这很重要。例如,您使用docker的桥接网络,marathon自动选择端口(您只在端口上公开),然后portIndex
需要设置为1。此外,如果您希望在启动时立即进行运行状况检查(即,该任务不应被视为
RUNNING
在一切就绪之前),您需要忽略gracePeriodSeconds
参数。