Hi I am setting up Kubernetes on top of Mesos by following http://kubernetes.io/v1.1/docs/getting-started-guides/mesos.html and this is how my current test lab looks like 1) 2 Numbers of mesos master with zookeeper 2) 2 Numbers of mesos slaves with docker and flannel installed 3) Additional mesos slave running kubernets-mesos and kubernetes srvices 4) A server with ETCD service which supports both flannel and kubernetes
Can you please let me know if this is enough ? Below are the two questions I have 1) Do we really need to have the kubernetes master server here to be configured as a mesos slave? 2) Do we need to install kubernetes package on mesos slaves as well ? The url talks about package installation and configuration only on the kubernetes master..With out kubernetes running on the slaves can the master create pods/services etc on the slaves through mesos scheduler?
1)Kubernetes master doesnt need to be a mesos slave . 2)You dont need kubernetes to be installed on the minions(mesos-slaves)
All you need is below 1)Mesos setup (Mesos masters and slaves along with zookeeper ,docker running on all mesos slaves) 2)etcd cluster ,will provide overlay network(flannel) and also will do the service discovery of kubernetes setup 3)kubernetes master ..
Below blogs helped a lot in setting it up http://manfrix.blogspot.in/2015/11/mesoskubernetes-how-to-install-and-run.html https://github.com/ruo91/docker-kubernetes-mesos
Regarding Mesos Masters and Zookeeper instances, to have an even number of nodes is not really a good idea, because of the quorum mechanisms involved. My suggestion would be running three nodes of both services.
I assume you want to run this locally? If so, I guess it would make sense to use a preconfigured Vagrant project such as https://github.com/tobilg/coreos-mesos-cluster This launches a three node CoreOS cluster with all the Mesos/Zookeeper services already installed, and etcd
and flanneld
are also already installed on CoreOS itself.
This would mean that you only would have to do the following steps once the cluster is launched: