<p>Assume the following stack:</p>

<ul>
<li>A dedicated server</li>
<li>The server is running Vagrant</li>
<li>Vagrant is running 2 virtual machines master + minion-1 (Kubernetes)</li>
<li>minion-1 is running a pod</li>
<li>Within the pod is 2 containers: webservice and fileservice</li>
</ul>

<p>Both webservice and fileservice should be accessible from internet i.e. from outside. Either by web.mydomain.com - file.mydomain.com or www.mydomain.com/web/ - www.mydomain.com/file/</p>

<p>Before using Kubernetes, I was using a remote proxy (HAproxy) and simply mapped domain names to an internal ip / port.</p>

<p>Now with Kubernetes, I can imagine there is something dedicated to this task but I honestly have no clue from where to start.</p>

<p>I read about "createExternalLoadBalancer", kubernetes Services and kube-proxy. Should a reverse-proxy still be put somewhere (before vagrant or within a pod ?) also is using Vagrant a good option for production (staying in the scope of this question) ?</p>

<p>The easiest thing for you to do at the moment is to make a service of type "nodePort", and to configure your HAproxy to point at minion-1:.</p>

<p>createExternalLoadBalancer is the old, less flexible, way to do this--it requires the cloud provider to do work. Type=nodePort doesn't require anything special from the cloud provider.</p>
