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.