kubernetes health check look for string

12/10/2019

I have a container that has a ping endpoint (returns pong) and I want to probe the ping endpoint and see if I get a pong back. If it was just to check 200 , I could have added a liveliness check in my pod like this ->

livenessProbe:
  initialDelaySeconds: 2
  periodSeconds: 5
  httpGet:
    path: /ping
    port: 9876 

How do I modify this to check to see if I get a pong response back?

-- Illusionist
eks
kubernetes

2 Answers

12/10/2019

As the HTTP probe only checks the status code of the response, you need to use the exec probe to run a command on the container. Something like this, which requires curl being installed on the container:

livenessProbe:
  initialDelaySeconds: 2
  periodSeconds: 5
  exec:
    command:
    - sh
    - -c
    - curl -s http://localhost:9876/ping | grep pong
-- doelleri
Source: StackOverflow

12/10/2019

httpGet livenessProbe and readinessProbe only care about http response code

Any code greater than or equal to 200 and less than 400 indicates success. Any other code indicates failure.

Better to change your pong message to set the appropriate http status code on the response.

-- Jonas
Source: StackOverflow