<p>There is something that I'm missing about the load balancer service.<br>
If I run a load balancer and my load gets spread over say 3 pods, do you have any guarantee that in case of multiple nodes, the same "type" of pods will be spread evenly over the nodes within the cluster?  </p>

<p>If I understand it right, Kubernetes will try to spread different kind of pods over the nodes in order to achieve the most optimal use of resources.<br>
But does this guarantee that pods exposing the same application will be spread evenly too?  </p>

<p>The replication controller will take care that the a certain amount of pods is always running, but what happens in case of a node failure; let's say 1 node's network interface goes down, and 3 pods of the same type were scheduled on that node. In that case the rc will take care that they are up again on a different node, but how do you know that there won't be a temporary outage of that api? I imagine that when using a load balancer, this can be prevented?  </p>

html_programmer
<p>Kubernetes tries to distribute the load of all his nodes. So it could be that you deploy all the pods in the same node.
As you say, in the event that the node fails, it would leave all your pods inaccessible. </p>

<p>As a developer, if you need to have pods distributed among different nodes, you have  tools for it:</p>

<ul>
<li><p>Daemon Set: Assures you that all (or some) nodes run a copy of the pod. <a href="https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/</a></p></li>
<li><p>Node Selector: You can define with labels those nodes where you want the pods to be deployed. <a href="https://docs.openshift.com/container-platform/3.6/admin_guide/scheduling/node_selector.html" rel="nofollow noreferrer">https://docs.openshift.com/container-platform/3.6/admin_guide/scheduling/node_selector.html</a></p></li>
</ul>

<p>There are other ways to achieve your objective like using affinity and anti-affinity or inter-pod affinity and anti-affinity. 
Here you have all the solutions that kubernetes offer in the documentation: <a href="https://kubernetes.io/docs/concepts/configuration/assign-pod-node/" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/configuration/assign-pod-node/</a></p>
