The K8S documentation states that, if a Node fails, a controller notices that Pods on that Node have stopped working and creates a replacement Pod.
What does a replacement pod look like? If Pod is a K8S object inside which Kubernetes runs containers, what does a newly created Pod object look like or contain before a scheduler places the pod on to a node? After all, containers can run only when a node is assigned to the pod right?
Is this pod just an abstract object to which a network IP is assigned and a container image is associated with it and is in Pending
. And the containers will run only when the pod gets assigned to a node when it transitions into Running
phase.
I think your description is accurate enough.
Firstly ignore replacement pod. This is the same for any pod.
Until the pod is scheduled to a node it only exists as a resource definition in the API server.
After being scheduled, the kubelet on the worker node will begin creating one or more running containers based on whats specified in pod definition.
Thank you @stephendotcarter That answers my question.