Things can go wrong, and a pod can fail. That could be because of an application error or because of a node failure while the pod is running.
The goal of a Job is to ensure that a pod (or the number we defined in the completions property) finishes successfully. Because of this, when that doesn’t happen, it will try again. As we have seen before, depending on how we set the restartPolicy for this pod, it will either restart the pod in place (restartPolicy=OnFailure) or mark the pod as failed and start a new one (restartPolicy=Never).
The Job will use an exponential back-off delay to retry running a pod; it has up to a limit of six times. We can override this limit by setting the backoffLimitproperty