This is an interesting question, but ... From what i can tell, this might indicate a flaw in your design.
Other kube experts please correct if im wrong, but today I (think) I learned something about how kubernetes external exposure is supposed to work - you're not really meant to expose ports directly on pods using containerPort/hostPort at large scale.
Normally, one might do this, for example, because they want "10" servers running, and they only have "8" servers, so there might be some collisions... so the logical choice is to have have server1 bind to 8080, and server2 bind to 8081, in the case that 1 & 2 are running on the *same* minion.
But alas- there is no need for this :)... because the ports are on an internal network, and you can have kubernetes load balance services for you. So, an alternative way to allow multiple identical services to run on the same host, is to stop host port binding entirely. instead, you can use the kubernetes "service" with a the publicIP:[....] feature, on any minion.
This will then serve as an HA proxy, i.e., it will route to the service load balancer itself, which will send your requests to one of the 10 running servers, all of which are operating behind the kube network.