Considering that kubelet failed to perform some action - for instance pulling an image, the pod will go into a back-off state, for instance ImagePullBackOff, how do I determine when will it be retried? I understand that the back-off uses increasing time intervals for retrying. End it may eventually give up. Is there a clear algorithm so I can figure out the time to next attempt?
Apart from curiosity and ops convenience, it would help assess the self-healing recovery time needed.
At any point, the maximum delay is 300s, that's a compiled-in constant.
See the common info about ImagePullBackOff:
The BackOff part indicates that Kubernetes will keep trying to pull the image, with an increasing back-off delay.
Kubernetes raises the delay between each attempt until it reaches a compiled-in limit, which is 300 seconds (5 minutes)
and the restart policy:
After containers in a Pod exit, the kubelet restarts them with an exponential back-off delay (10s, 20s, 40s, …), that is capped at five minutes. Once a container has executed for 10 minutes without any problems, the kubelet resets the restart backoff timer for that container
I can't tell you more than in official documentation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With