kudobuilder / kudobuilder/kudo

Add ability to "pause" a pod, so that possibly crash-looping containers can be inspected manually

Open
#877 0 comments 0 reactions 0 assignees View on GitHub
kind/enhancement priority/long-term-important
Dominant language
Go
Stars
1.2k
Forks
105
PR merge metrics
No merged PRs in 30d

Description

**What would you like to be added**:

The ability to "pause" a pod, so that possibly crash-looping containers can be
inspected manually.

**Why is this needed**:

There are multiple reasons for containers to crash-loop. A common one is: the
specified container command crashes, causing the container to fail and be
restarted. In situations of infinite crash-loops under some back-off strategy,
it is very difficult to investigate the state of a container:
- its files
- environment variables
- command outputs

Being able to start a container and not run its command, but do something like
sleep instead would greatly help with debugging lots of issues.

There might be multiple ways of implementing this. A hack I've been using as an
operator developer is just commenting a containers original `command` field
and replacing it with something like:

``` yaml
command:
- bash
- -c
- "while true; do echo 'sleeping...'; sleep 5; done"
```

Contributor guide

Open the contributing guide

Research direction

Start with the KEP process linked in the issue and investigate how Kubernetes pods and container commands can support a paused debugging state. Define what "done" means as starting a crash-looping container without its original command while allowing inspection of its files, environment variables, and command output.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.