如何使用 HTTP HEAD 请求作为 Marathon 的健康检查?

How to use a HTTP HEAD request as health check for Marathon?

看起来协议 HTTPMESOS_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