为 kubernetes 探针提供多个健康检查 URL

Providing multiple health check URLs for kubernetes probes

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

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

在我的例子中,我需要监控同一个容器的两个端口。 80443。但是我找不到在配置文件中为同一个容器提供两个端口的方法。有其他方法吗?

不可能,请尝试将健康检查封装在您的应用程序中

例如: http://localhost:80/health_check?full => (proxy to) => http://localhost:443/health_check?full

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

如果容器上有 curl / wget,您可以 运行 容器执行健康检查,然后执行类似 curl localhost:80 && curl localhost:443.

的操作

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