readinessProbe: Indicates whether the container is ready to respond to requests. If the readiness probe fails, the endpoints controller removes the Pod's IP address from the endpoints of all Services that match the Pod. The default state of readiness before the initial delay is Failure. If a Container does not provide a readiness probe, the default state is Success
If the readiness probe fails (and the Pod's IP address is removed from end point), what happens next? Will the Pod's readiness probe conditions be checked again? Will it check again after initial delay? Is there any chance the Pod's IP address is added to the end point again (if the Pod self healed after readiness probe fails)? Will that Pod receive traffic again incase if it's healed?
yes, the condition will be checked again depends on the threshold you have set.
On each
periodSeconds
configuration readiness will be checked for POD.It will check after the Initial delay only. Initial delay comes into the picture when POD is initializing or starting. readiness check will wait for configured time and after that time it will start checking the readiness of POD on each time interval suppose every
5
second or10
seconds depends on the configuration of theperiodSeconds
.Yes if get auto healed mean,
successThreshold
set to1
time if POD give 200 one time it will marked as heal and running pod is this case POD will get the traffic again.Yes
For example :
The readiness and liveness probe will check the status on HTTP endpoint as mentioned in configuration.
initialDelaySeconds : it will only come into the picture when your POD initializing or starting again due to restart or anything. So when POD is starting readiness wont check service status till 30 second.
After 30
seconds
it will try to check the status on the endpoint. If successful POD will be in a ready state to handle the traffic or else it will try for another timeperiodSeconds
so after 8 seconds it will try again if we will200 response
POD will be Ready or else will try after 8 seconds.timeoutSeconds : single hop or request will wait the amount of time to get response from service or else mark as failed check.
failureThreshold : Maximum number of failed check after this POD will get started or changed to Not Ready state based on configuration liveness or readiness.
successThreshold : Successful threshold means if single request get success response from service POD status gets changed to Ready.
If continuous 30
failureThreshold
occur then only POD will get marked as Not ready if in between singlesuccessThreshold
occur POD will get mark as Ready same for liveness.Note : Above example is just for reference can not be useful in an actual production scenario.
Read more at : https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/