Seems to be missing any mention of how this whole process is resilient to killing the apiserver or kubelet at any point in the process (it is resilient to that, right...?).
The API server is stateless and should be loadbalanced.
The kubelet should be set to restart on failure and is not resilient. It keeps trying to connect to your API server and update its status if it can't it will keep retrying. The controller manager will remove the node after X minutes of no response.
I should mention that the kubelet is plenty resilient for what it does. If at some point kubelet can connect again it will rejoin the cluster.