【问题标题】:Providing multiple health check URLs for kubernetes probes为 kubernetes 探针提供多个健康检查 URL
【发布时间】:2017-09-06 11:06:36
【问题描述】:

我正在使用 container Probes 来检查在 kubernetes pod 内容器内运行的应用程序的运行状况。现在我的示例 pod 配置看起来像,

"spec":{
   "containers":[
      {
        "image":"tomcat",
        "name":"tomcat",
        "livenessProbe":{
           "httpGet":{
              "port": 80
            },
            "initialDelaySeconds": 15,
            "periodSeconds": 10
        }
      }
   ]
}

就我而言,我需要监控同一个容器的两个端口。 80443。但是我找不到在配置文件中为同一个容器提供两个端口的方法。有没有其他方法可以做到这一点?

【问题讨论】:

  • 我在创建 docker 映像时尝试了 HEALTHCHECK docker 命令。但即使容器不健康,pod 描述也不会提供这些详细信息。我只是声明容器处于运行阶段。

标签: kubernetes probe kubernetes-health-check


【解决方案1】:

如果容器上有 curl / wget,则可以只运行容器 exec 健康检查,然后执行类似 curl localhost:80 && curl localhost:443 之类的操作。

【解决方案2】:

不行,试试把健康检查封装在你的应用里面

例如: http://localhost:80/health_check?full => (代理到) => http://localhost:443/health_check?full

可以帮到你https://github.com/kubernetes/kubernetes/issues/37218

【讨论】:

  • 我无法触摸我的应用程序。需要从外层做起。我正在寻找其他解决方案。
【解决方案3】:

这将是一个非常有用的功能,但缺少。 正如前面提到的其他人,您可以使用脚本而不是 httpget 进行健康检查,并检查该脚本中的两个 url。
另一种选择是创建一个 sidecar 健康容器来监控主容器的两个 url 并采取行动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 2020-02-05
    • 2021-01-09
    • 2019-01-06
    • 2021-06-15
    • 1970-01-01
    相关资源
    最近更新 更多