marathon如何确定服务实例已准备就绪

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

哥儿们

我想知道马拉松是如何知道服务实例准备服务的?

是否有任何界面可以在启动实例期间自定义运行状况检查?

谢谢

mesos marathon
2个回答
1
投票

看看文档

您可以实现各种检查,不仅在http端点上,还包括tcp ...例如,如果您正在启动dockerized MySQL服务,您可以在tcp端口3306上执行运行状况检查以验证MySQL是否实际启动并且可达:

"healthChecks": [
    {
        "portIndex": 0,
        "protocol": "TCP",
        "intervalSeconds": 1,
        "timeoutSeconds": 2,
        "maxConsecutiveFailures": 5
    }
]

为了充满活力,portIndex很重要。例如,您使用了与Docker的桥接网络,而Marathon自动选择端口(并且您只在端口上公开),然后需要将portIndex设置为1。

此外,如果您想在启动时立即进行健康检查(即任务不应被视为RUNNING,直到一切都结束),您将需要省略gracePeriodSeconds参数。


0
投票

您可以使用healthcheck,但也有READinessChecks。 https://github.com/mesosphere/marathon/blob/master/docs/docs/readiness-checks.md

在升级策略https://mesosphere.github.io/marathon/docs/rest-api.html#upgrade-strategy中还有最小的健康能力

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