Skip to content

Improve Hello-World maven Quickstart to not restart and have CrashLoopBackOffs #2788

@rohanKanojia

Description

@rohanKanojia

Discussed in #2787

As discussed in below thread, we should improve quickstart to not print a simple message, which seems to cause repeated restarts.

Rather we can have it as a web application using Spring Boot/Quarkus and display a hello world HTML web page.

Originally posted by waynemorphic March 8, 2024

After following the Readme steps for a quick start of the Hello-World app, I am facing a few issues.

What works:

  • The build is successful with mvn clean install k8s:build k8s:resource k8s:apply
  • minikube start command runs minikube container in my docker desktop and opens five ports

⚠️ I have shared minikube's docker daemon environment with my shell

What does not work:

  • kubectl get pods shows:
NAME                          READY   STATUS             RESTARTS        AGE
helloworld-588b59fd98-69prl   0/1     CrashLoopBackOff   8 (2m30s ago)   18m
helloworld-85595f97f7-2x2pg   0/1     CrashLoopBackOff   8 (2m24s ago)   3h57m
  • kubectl describe pod outputs:
Type     Reason          Age                   From     Message
  ----     ------          ----                  ----     -------
  Normal   Pulling         131m (x26 over 4h1m)  kubelet  Pulling image "helloworld-java:1.16.1"
  Normal   BackOff         70m (x521 over 4h1m)  kubelet  Back-off pulling image "helloworld-java:1.16.1"
  Normal   SandboxChanged  58m                   kubelet  Pod sandbox changed, it will be killed and re-created.
  Normal   Pulling         57m (x2 over 57m)     kubelet  Pulling image "helloworld-java:1.16.1"
  Warning  Failed          57m (x2 over 57m)     kubelet  Failed to pull image "helloworld-java:1.16.1": Error response from daemon: pull access denied for helloworld-java, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
  Warning  Failed          57m (x2 over 57m)     kubelet  Error: ErrImagePull
  Normal   BackOff         57m (x2 over 57m)     kubelet  Back-off pulling image "helloworld-java:1.16.1"
  Warning  Failed          57m (x2 over 57m)     kubelet  Error: ImagePullBackOff
  Normal   SandboxChanged  55m                   kubelet  Pod sandbox changed, it will be killed and re-created.
  Normal   Pulling         53m (x4 over 55m)     kubelet  Pulling image "helloworld-java:1.16.1"
  Warning  Failed          53m (x4 over 55m)     kubelet  Failed to pull image "helloworld-java:1.16.1": Error response from daemon: pull access denied for helloworld-java, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
  Warning  Failed          53m (x4 over 55m)     kubelet  Error: ErrImagePull
  Warning  Failed          53m (x6 over 55m)     kubelet  Error: ImagePullBackOff
  Normal   BackOff         50m (x19 over 55m)    kubelet  Back-off pulling image "helloworld-java:1.16.1"
  Normal   SandboxChanged  41m                   kubelet  Pod sandbox changed, it will be killed and re-created.
  Normal   Pulling         39m (x4 over 41m)     kubelet  Pulling image "helloworld-java:1.16.1"
  Warning  Failed          39m (x4 over 41m)     kubelet  Failed to pull image "helloworld-java:1.16.1": Error response from daemon: pull access denied for helloworld-java, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
  Warning  Failed          39m (x4 over 41m)     kubelet  Error: ErrImagePull
  Warning  Failed          39m (x6 over 41m)     kubelet  Error: ImagePullBackOff
  Normal   BackOff         26m (x61 over 41m)    kubelet  Back-off pulling image "helloworld-java:1.16.1"
  Warning  BackOff         16m (x28 over 22m)    kubelet  Back-off restarting failed container hello-world in pod helloworld-85595f97f7-2x2pg_default(42d30810-88a1-4217-8fae-80d63453a5a1)
  Normal   Pulled          69s (x10 over 22m)    kubelet  Container image "helloworld-java:1.16.1" already present on machine

The last line above shows container is present but the status is CrashLoopBackOff instead of Completed. What could I be missing?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions