如何为 Marathon 任务创建健康检查 HTTP 端点?

How to create a healthcheck HTTP endpoint for Marathon task?

我正在尝试为我将在 Marathon 运行 中完成的任务设置自定义 http 健康检查。

根据我的阅读,Marathon 使您能够通过在您的应用程序中实施一个端点来创建自定义健康检查,该端点具有捕获使您的应用程序健康的逻辑。

我了解如何通过 Marathon GUI 连接到端点,但我找不到任何关于如何在 Marathon 任务上实际创建端点的资源。

一般文档在这里: https://mesosphere.github.io/marathon/docs/

您的问题的具体文档可以在以下位置找到: https://mesosphere.github.io/marathon/docs/health-checks.html

例如,您可以启动一个应用程序(结合 docker 容器),并使用以下马拉松配置进行健康检查:

{
   "id":"app",
   "cpus":0.25,
   "mem":1024,
   "instances":2,
   "healthChecks":[
      {
         "protocol":"HTTP",
         "path":"/",
         "portIndex":0,
         "timeoutSeconds":10,
         "gracePeriodSeconds":10,
         "intervalSeconds":2,
         "maxConsecutiveFailures":10
      }
   ],
   "container":{
      "type":"DOCKER",
      "docker":{
         "image":"nginx",
         "network":"BRIDGE",
         "portMappings":[
            {
               "hostPort":0,
               "containerPort":80,
               "protocol":"tcp"
            }
         ]
      }
   }
}