Would Kubernetes bring up the down-ed Pod if only Pod definition file exists?

3/28/2020

I have Pod definition file only. Kubernetes will bring up the pod. What happens if it goes down? Would Kubernetes bring it up automatically? Or if we want certain numbers of pods up at all time, we MUST take the help of ReplicationController( or ReplicaSet in new versions)?

-- Faraz
kubernetes

2 Answers

3/28/2020

Although your question is not clear , but yes , if you have deployed the pod through deployment or replicaSet , then kubernetes will create another one if you or someone else deletes that pod.

If you have just the pod without any controller like ReplicaSet , then it goes forever as there is no one to take care of it.

In case , the app crashes inside pod then:

A CrashloopBackOff means that you have a pod starting, crashing, starting again, and then crashing again.

A PodSpec has a restartPolicy field with possible values Always, OnFailure, and Never which applies to all containers in a pod. The default value is Always and the restartPolicy only refers to restarts of the containers by the kubelet on the same node (so the restart count will reset if the pod is rescheduled in a different node). Failed containers that are restarted by the kubelet are restarted with an exponential back-off delay (10s, 20s, 40s …) capped at five minutes, and is reset after ten minutes of successful execution.

https://sysdig.com/blog/debug-kubernetes-crashloopbackoff/

-- Ijaz Ahmad Khan
Source: StackOverflow

3/29/2020

restartPolicy pod only refers to restarts of the Containers by the kubelet on the same node.If there is no replication controller or deployment then if a node goes down kubernetes will not reschedule or restart the pods of that node into any other nodes.This is the reason pods are not recommended to be used directly in production.

-- Arghya Sadhu
Source: StackOverflow