We are developing a php/mysql app and it will involve lot of apis and be used by a large group of employees however this is not a public facing internet scale website.<p>We are using containers (Dockers) so we were looking to setup the system so it is ready with HA/LB/Scale ready from the start.<p>So we evaluated docker swarm but docker seems to have brought a half cooked swarm mode into mix and its needs it time to become stable/usable.<p>We wanted to try Kubernates and since our servers are all Vmware ESXI , we gave its Vsphere deployment a go but it didn't work as advertised also looking at their github issues it seems like its maintained by a single person so not sure its the way to go.<p>We are now looking to evaluate the Baremetal kubernates but running them in the VMs instead but we dont see how to setup the loadbalancer?<p>Is that even possible?<p>Also do you believe Kubernates going to support vmware/baremetal and other deployments going forward or they are only going to support the GCE/AWS/DO ?
Generally you have to figure out a way to do the load balancing.<p>Once way is like haproxy in front that has each of the k8 nodes behind it.<p>How I did it in AWS since I didn't want k8 to create ELBs is<p>ELB->nginx (on the node outside of k8) -> k8 service nodeport<p>A nodeport is a type of service that opens the same port on all the k8 nodes to send traffic from the outside to inside the cluster. Even if a node doesn't run the container it can forward traffic to a node that does.<p>There are also now ingress controllers you can look at that do a lot of the work for you to reload what I did with nginx as soon as you create a service in k8.
Checkout Rancher. From your tone, I guess like Kubernet is complicated for you. Rancher has Kubernet support plus nice GUI and many application templates LAMP stack friendly. Also, load balancer is backed in.<p>[0] <a href="http://rancher.com/" rel="nofollow">http://rancher.com/</a> (open source)
k8s LoadBalancers are designed to be used in the cloud: AWS GCP etc...<p>As a workaround you can create a service and then tunnel/proxy the service ClusterIP from the master<p>Kubernetes absolutely supports baremetal. It's one of it's greatest strengths, no lock-in.