Debug a pod in CrashLoopBackoff¶
If we have a pod that is crash looping then it is exiting too quickly to spawn a shell inside the container. We can use
oc debug to start a pod with that same image but instead of the image entrypoint we use /bin/sh instead.
$ oc debug misbehaving-pod-1 Defaulting container name to bad. Use 'oc describe pod/misbehaving-pod-1' to see all of the containers in this pod. Debugging with pod/misbehaving-pod-1, original command: <image entrypoint> Waiting for pod to start ... If you don't see a command prompt, try pressing enter. / $
Get a shell inside a pod¶
What if we want to get a shell inside of the container to debug?
oc run centos-debug-test --restart=Never --image=centos -- /usr/bin/sleep 1d
Lets make sure it successfully gets scheduled and started, look for
oc describe pod centos-debug-test
Now we have a running pod, lets check it out:
oc exec -it centos-debug-test /bin/bash
Now lets delete the pod:
oc delete pod centos-debug-test