3 ms·
A couple things I've found when evaluating these: Docker Swarm seems to be the only one that supports one-off interactive containers that bind a TTY, like a Ra
by waffle_ss 11y ago
A couple things I've found when evaluating these:
Docker Swarm seems to be the only one that supports one-off interactive containers that bind a TTY, like a Rails console (i.e. does the cluster support `docker run -it --rm busybox sh`). But its scheduling strategies[1] aren't as sophisticated as the others.
Marathon doesn't support linked containers[2], so if you're using Mesos and need linked containers, you probably will want to run Kubernetes on it and use pods.
[1]: https://github.com/docker/swarm/tree/b2182d080956040730cc76c31f322e637c85548a/scheduler/strategy https://github.com/docker/swarm/tree/b2182d080956040730cc76c...
[2]: https://support.mesosphere.com/hc/en-us/articles/205006415-How-to-manage-applications-with-multiple-components-processes-on-Marathon- https://support.mesosphere.com/hc/en-us/articles/205006415-H...
- throwaway1979 11y agoI've been playing with Swarm and like what I've seen so far. WRT Kubernetes, on a platform other than GCE, is Flannel required for networking?
- amouat 11y agoI think you just need to provide a flat networking infrastructure where all nodes get their own IP and can reach each other. So you can swap flannel for project calico or your own setup if you like.
- eepyaich 11y agoYep - see http://www.projectcalico.org/calico-networking-for-kubernetes/ http://www.projectcalico.org/calico-networking-for-kubernete.... [Disclosure - I'm part of the Project Calico team.]
- dward 11y agoWeave and Openvswitch are two other options. Many IaaS (gcp, aws) provide the required nobs and dials to configure this "natively" using their API so no extra SDN required if you are already running on a compatible cloud provider.
- throwaway1979 11y agoI thought each host needs an entire /24 subnet, and the pods that run on the host get individual IP addresses. Am I mistaken?
- TheIronYuppie 11y agoNo, there's a private network that's shared between all the containers running on the pods, but as long as the nodes can see each other, you're good. Full disclosure: I work at Google on Kubernetes
- TheIronYuppie 11y agoNetworking on AWS works fine with no additional networking as well. Overlay networking is not required if you're running within a bunch of nodes that can see each other. Only if you get more complex will you require something, and there are quite a few solutions (Flannel, Weave, Calico, etc) Full disclosure: I work at Google on Kubernetes
- merb 11y agoBut most of them suck, and they suck even more when you configured them badly (badly in terms of you used an option which comes by default). However with the bigger vxlan adoption most performance issues are fixed, still, could have some improvmenents. I also think that IPv6 could fix a lot of these things...
- roque 11y agoAs others have mentioned there are multiple options. If you want micro-segmentation (one network per app-tier) with fine-grain access control you can use the OpenContrail plugin https://github.com/Juniper/contrail-kubernetes https://github.com/Juniper/contrail-kubernetes. It has the added advantage that you have a tenant network span k8s, openstack, vlans, or anything else you can plug into a reasonable mid-tier router. [Disclosure: i'm currently working on this project]
- deleted 11y ago[deleted]
- TheIronYuppie 11y agoKubernetes does this as well: cluster/kubectl.sh exec pod_name -ti bash Full disclosure: I work at Google on Kubernetes
- waffle_ss 11y agoAwesome, good to know. Based on this issue[1] I didn't think it did. [1]: https://github.com/GoogleCloudPlatform/kubernetes/issues/1521 https://github.com/GoogleCloudPlatform/kubernetes/issues/152...