Welcome to the Linux Foundation Forum!

3.2.17 Back-off restarting failed container

Posts: 2
edited December 2022 in LFD259 Class Forum

Hello fellow classmates,

Just like to share this with you guys, in case you are getting to this strange issue.
I got it worked finally and now thinking it must be the behavior of kubernetes dealing with images having CMD and ENTRYPOINT.

Issue is that I am able to podman run the simpleapp image and push to the local repository, however, kubectl create deployment (or kubectl run) refused to run and give this error.

  1. $ kubectl describe pod sa1
  2. ...
  3. Events:
  4. Type Reason Age From Message
  5. ---- ------ ---- ---- -------
  6. Normal Scheduled 70s default-scheduler Successfully assigned default/sa1-79dd87d4fb-lzkg2 to worker1
  7. Normal Pulled 70s kubelet Successfully pulled image "localhost/simpleapp" in 53.386827ms
  8. Normal Pulled 69s kubelet Successfully pulled image "localhost/simpleapp" in 36.668932ms
  9. Normal Pulled 55s kubelet Successfully pulled image "localhost/simpleapp" in 36.764437ms
  10. Normal Pulling 28s (x4 over 70s) kubelet Pulling image "localhost/simpleapp"
  11. Normal Created 28s (x4 over 70s) kubelet Created container simpleapp
  12. Normal Started 28s (x4 over 70s) kubelet Started container simpleapp
  13. Normal Pulled 28s kubelet Successfully pulled image "localhost/simpleapp" in 32.476ms
  14. Warning BackOff 1s (x7 over 68s) kubelet Back-off restarting failed container

Many of Google searches say that it's caused by the image, almost liked there's nothing to be run at the container and it failed right the way.

I have also tried using some OS images pulled from Docker hub, liked Alpine and busybox, pretty much same thing here.

So, I tried another way... use ENTRYPOINT instead of CMD and COPY instead of ADD at Dockerfile. Rebuilt and pushed as simpleapp2.

  1. $ cat /Dockerfile
  2. FROM python:3
  3. COPY ./simple.py /
  4. ENTRYPOINT [ "python", "/simple.py" ]

And magically, it works and I am able to finish the rest of exercises.

  1. $ kubectl create deployment test3 --image=$repo/simpleapp2
  2. deployment.apps/test3 created
  3. $ kubectl get pods -o wide
  4. NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
  5. basicpod 1/1 Running 0 23h 192.168.235.161 worker1 <none> <none>
  6. nginx-8686455c8b-tlv29 1/1 Running 1 (23h ago) 25h 192.168.235.159 worker1 <none> <none>
  7. registry-7c4c89bb5c-dwhws 1/1 Running 1 (23h ago) 25h 192.168.235.158 worker1 <none> <none>
  8. test2 1/1 Running 0 6m36s 192.168.235.178 worker1 <none> <none>
  9. test3-5774c58f85-n6l7x 1/1 Running 0 3s 192.168.235.180 worker1 <none> <none>

I am on GCE and Ubuntu 20.04, not sure if it's related, but it's good to tell.

Go luck and have fun!

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Welcome!

It looks like you're new here. Sign in or register to get started.
Sign In

Categories

Upcoming Training