What is the http url to get readiness and liveness probes of service instances from kubernetes

6/17/2018

I searched for 'readi', 'ready', 'live' etc in the kub swagger. I only see

io.k8s.api.core.v1.PodReadinessGate

thank you

-- user19937
kubernetes

3 Answers

6/19/2018

There is no way to check the state of Liveness and Readiness probes directly.
You can check the resulting state of the pod which reflects changes in the state of Liveness and Readiness probes, but with some delay caused by threshold values.
Using kubectl describe pod you can also see some events at the bottom, but you can only see them after they occur. You can’t have it as a reply to the request.

You can also look into REST requests that are running under the hood of kubectl commands. All you need to do is adding a verbose flag to kubectl command:

-v, --v=0: Set the level of log output to debug-level (0~4) or trace-level (5~10)
-- VAS
Source: StackOverflow

6/17/2018

According to Configure Liveness and Readiness Probes services can be configured to use

  • liveness command
  • TCP liveness probe
  • liveness HTTP request

So if your service use HTTP requests for liveness and readiness you can see in pod definition section livenessProbe (same for readinessProbe)

livenessProbe:
  httpGet:
    path: /healthz
    port: 8080
  initialDelaySeconds: 3
  periodSeconds: 3

See full example here

-- alexander.polomodov
Source: StackOverflow

6/17/2018

That's one thing you would define. For example the following yaml file:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80
    livenessProbe:       #this block performs liveness probes
      httpGet:
        path: /healthz
        port: 80
    readinessProbe:      #this block performs readiness probes
      httpGet:
        path: /
        port: 80

So, a pod with nginx. I can simply add the blocks highlighted in the yaml file and there it is. kubelet will check on them. Of course you have to have something serving there (/healthz, in this example), otherwise you will get 404.

You can add some configuration to the probes, like the other answer suggests. There are some more options than those.

-- suren
Source: StackOverflow