Providing multiple health check URLs for kubernetes probes

4/11/2017

I am using container Probes to check the health of the application running inside the container within kubernetes pod. For now my example pod config looks like,

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

In my case, I need to monitor two ports for the same container. 80 and 443. But I am unable to find a method to provide both the ports for same container in the config file. Is there an alternate way of doing this?

-- Sujai Sivasamy
kubernetes
kubernetes-health-check
probe

3 Answers

8/16/2018

If you have curl / wget on the container you could just run a container exec healthcheck, and do something like curl localhost:80 && curl localhost:443.

-- Chris Stryczynski
Source: StackOverflow

4/11/2017

It's not possible, try to encapsulate the health check inside your application

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

can be help you https://github.com/kubernetes/kubernetes/issues/37218

-- Giancarlo Rubio
Source: StackOverflow

9/19/2018

This would be a very useful feature but that is missing. As others mentioned earlier you can use a script for health check instead of httpget and check both urls in that script.
One another option is to create a sidecar health container to monitor both urls of the main container and take action.

-- techuser soma
Source: StackOverflow