如何使用 HTTP HEAD 请求作为 Marathon 的健康检查?
How to use a HTTP HEAD request as health check for Marathon?
看起来协议 HTTP
或 MESOS_HTTP
只做 GET
请求。
这个有效:
"healthChecks": [
{
"protocol": "COMMAND",
"command": "curl -I http://0.0.0.0:5000/",
"gracePeriodSeconds": 300,
"intervalSeconds": 60,
"timeoutSeconds": 20,
"maxConsecutiveFailures": 3
}
],
但我发现它对于如此简单的任务来说太多了……我希望有更简单的东西,比如 "method":"HEAD"
:
"healthChecks": [
{
"protocol": "HTTP",
"path": "/",
"portIndex": 5000,
"method": "HEAD",
"gracePeriodSeconds": 300,
"intervalSeconds": 60,
"timeoutSeconds": 20,
"maxConsecutiveFailures": 3
}
],
如果您 need/want 基于 HTTP HEAD
的健康检查,那么基于命令的是您唯一的选择。基于 HTTP 的支持仅 GET
。有关详细信息,另请参阅 Marathon docs。
看起来协议 HTTP
或 MESOS_HTTP
只做 GET
请求。
这个有效:
"healthChecks": [
{
"protocol": "COMMAND",
"command": "curl -I http://0.0.0.0:5000/",
"gracePeriodSeconds": 300,
"intervalSeconds": 60,
"timeoutSeconds": 20,
"maxConsecutiveFailures": 3
}
],
但我发现它对于如此简单的任务来说太多了……我希望有更简单的东西,比如 "method":"HEAD"
:
"healthChecks": [
{
"protocol": "HTTP",
"path": "/",
"portIndex": 5000,
"method": "HEAD",
"gracePeriodSeconds": 300,
"intervalSeconds": 60,
"timeoutSeconds": 20,
"maxConsecutiveFailures": 3
}
],
如果您 need/want 基于 HTTP HEAD
的健康检查,那么基于命令的是您唯一的选择。基于 HTTP 的支持仅 GET
。有关详细信息,另请参阅 Marathon docs。