KEP-4603keps/sig-node/4603-tune-crashloopbackoff
Tune Crashloop Backoff
<!-- This section is incredibly important for producing high-quality, user-focused documentation such as release notes or a development roadmap. It should be possible to collect this information before implementation begins, in order to avoid requiring implementors to split their attention between writing release notes and implementing the feature itself. KE… Full summary
<!-- This section is incredibly important for producing high-quality, user-focused documentation such as release notes or a development roadmap. It should be possible to collect this information before implementation begins, in order to avoid requiring implementors to split their attention between writing release notes and implementing the feature itself. KEP editors and SIG Docs should help to ensure that the tone and content of the Summary section is useful for a wide audience. A good summary is probably at least a paragraph in length. Both in this section and below, follow the guidelines of the [documentation style guide]. In particular, wrap lines to a reasonable length, to make it easier for reviewers to cite specific portions, and to minimize diff churn on updates. [documentation style guide]: https://github.com/kubernetes/community/blob/master/contributors/guide/style-guide.md --> CrashLoopBackoff is designed to slow the speed at which failing containers restart, preventing the starvation of kubelet by a misbehaving container. Currently it is a subjectively conservative, fixed behavior regardless of container failure type: when a Pod has a restart policy besides Never, 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. The delay for restarts will stay at 5 minutes until a container has executed for 2x the maximum backoff -- that is, 10 minutes -- without any problems, in which case the kubelet resets the backoff count for that container and further crash loops start again at the beginning of the delay curve (ref). Both the decay to 5 minute back-off delay, and the 10 minute recovery threshold, are considered too conservative, especially in cases where the exit code was 0 (Success) and the pod is transitioned into a "Completed" state or the expected length of the pod run is less than 10 min
Facts
- Authors
- @lauralorenz
- Approvers
- @dchen1107
- Reviewers
- @tallclair
- PRR approvers
- @soltyshalpha
- Tracking issue
- #4603(opens GitHub in a new tab) openreopenedsig/nodestage/alphalifecycle/rotten
- Milestones
- alpha v1.32
- Participating SIGs
- none
- Feature gates
- ReduceDefaultCrashLoopBackoffDecay
- Created / last updated
- 2024-04-29 / none