mesos—如何确定服务示例已准备就绪

ee7vknir  于 2021-06-21  发布在  Mesos
关注(0)|答案(2)|浏览(312)

朋友
我想知道如何知道一个服务示例已经准备好服务?
示例启动过程中是否有自定义健康检查的接口?
谢谢

qni6mghb

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-战略

dba5bblo

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 参数。

相关问题