Deploying to Minikube results in `CrashLoopBackOff`

(Normen Müller) #1

Crawling the internet didn’t help so far. Has anyone an idea how to resolve CrashLoopBackOff errors on macOS and Minikube?

Minikube: v0.27.0

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.2", GitCommit:"81753b10df112992bf51bbc2c2f85208aad78335", GitTreeState:"clean", BuildDate:"2018-05-12T04:12:12Z", GoVersion:"go1.9.6", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

(Ignasi Marimon-Clos) #2

CrashLoopBackOff means your Lagom service starts and immediatelly crashes, then mimikube retries with the same result, then mimikube retries with the same result,…

Check the logs of the failing pods for more information.

PS: I don’t think this is related to mac OSX or minikube. At most, lack of available mem.

(Normen Müller) #3

My services run in dev mode.

How can I switch to prod mode within the Sbt console in order to test runAll if there is something wrong?

(Normen Müller) #4

Trying to get the logs yields

$ kubectl logs user-v1-0-snapshot-8764b8bf9-5cr5m -c user
bash: /rp-start: Permission denied

What am I missing here?

(Tim Moore) #5

@normenmueller did you ever resolve this?

This error makes it sound like rp-start is not executable. It could be a bug in sbt-reactive-app but you should try the latest version (1.2.3) if you haven’t already.

(Normen Müller) #6

No, I haven’t solved it yet. We’ve discarded Kubernetes for the time being.

(David Pennell) #7

I’ve found CrashLoopBackOff errors are sometimes because of failures very early in the startup and you can’t diagnose by looking at the kubernetes logs. One example was a logback.xml trying to create a RollingFileAppender in a directory that didn’t exist.

A technique that I use is to:

sbt docker stage
cd to target/docker/stage/opt/docker