<p>I'm a bit confused by some of the Kubernetes documentation on virtual IPs: <a href="https://kubernetes.io/docs/concepts/services-networking/service/#the-gory-details-of-virtual-ips" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/services-networking/service/#the-gory-details-of-virtual-ips</a>.</p>

<blockquote>
  <p>Userspace
  As an example, consider the image processing application described above. > When the backend Service is created, the Kubernetes master assigns a virtual IP address, for example 10.0.0.1.</p>
</blockquote>

<p>The Kubernetes master assigns that VIP address to what? Where is the VIP address assigned?</p>

<p>How does the virtual IPs of a service integrate with an external ip address?</p>

<blockquote>
  <p>In order to allow users to choose a port number for their Services, we must ensure that no two Services can collide</p>
</blockquote>

<p>Does this mean that when running <code>kubectl get services</code> I could see services having the same port?</p>

<blockquote>
  <p>When clients connect to the VIP, their traffic is automatically transported to an appropriate endpoint</p>
</blockquote>

<p>Who are the clients? Other services within the cluster or some joe smo who's just using your app and knows nothing about kubernetes.</p>

<p>The virtual in VIP means that the IP is not attached to a network interface, technical (in the current default config with <code>kube-proxy</code>) this means it's an IPtables entry, purely used to provide a stable communication endpoint. I've written about it in greater detail in the blog post <a href="https://blog.openshift.com/kubernetes-services-by-example/" rel="noreferrer">Kubernetes Services By Example</a>, if you want to see how it works in a concrete setup.</p>

<p>Note that every node in the cluster has all the pod and service-related IPtables entries and this can lead to <a href="https://schd.ws/hosted_files/cloudnativeeu2017/ce/Scale%20Kubernetes%20to%20Support%2050000%20Services.pdf" rel="noreferrer">scalability and performance issues</a>.</p>
