I am reading this blog and tried to run the code. If sleep infinity is removed, the pod will be stuck in CrashLoopBackOff:
$ kubectl get po
NAME                            READY     STATUS             RESTARTS   AGE
spark-master-715509916-zggtc    0/1       CrashLoopBackOff   5          3m
spark-worker-3468022965-xb5mw   0/1       Completed          5          3mCan anyone explain this?
yes, since you removed the sleep infinity, container is starting and terminating. you need to keep sleep statement. Is there a reason you want to remove sleep?
Thanks SR
The reason the pod goes into the CrashLoopBackOff state is that Kubernetes expects to process manage the command executed by the container. Presumably the start-master.sh script executes, then exits, which Kubernetes interprets as the process dying. You need to execute a command which will not exit in order to keep the pod alive. In this case the sleep infinity is included to simulate a long running process. You could also achieve this with something like:
'./start-master.sh ; /bin/bash'