If a node loses communication with the master, will it continue to run its workload in a self-healing way?
For instance, if the master is unavailable and a pod exceeds its cpu limit and is killed, will the node independently restart the pod because that pod has already been scheduled on the node?
Yes. The local (node) supervisor looking after your pods is the kubelet and while you can't change things while the connection to the API server is not available, the pods already scheduled on the node will continue to be supervised by the kubelet. In this context, an interesting but not super useful thing to know (for end-users) is that there are also so called static pods which you can launch manually, on the node.