Docker for Mac with Kubernetes

  • So confused by all the posts from people who say they run Swarm because kubernetes is too complicated or is only for huge deployments.

    I’ve had all sort of difficulties installing Docker. By hand it’s not trivial to get a secure install. Docker machine is great except it’s often broken. The Docker machine dev team is a tired, understaffed bunch that’s always playing a sisyphean whack-a-mole against dozens of cloud providers and very needy posters on Github, myself included.

    Kubernetes on the other hand is trivial with GKE. It’s great for single node deployments. I run a single node on GKE and it’s awesome, easy, and very cheap. You can even run preemptible instances. The myth that kubernetes is complicated is largely perpetuated by the same kind of people who say React is complicated: the people who’ve not tried it.

    And like React, once you try kubernetes you never go back. Kubernetes is actually the orchestration equivalent of React. You declare what should be true, and Kubernetes takes care of the rest.

    And the features it provides are useful for any-sized application! If you try kubernetes you quickly discover persistent volumes and statefulsets, which take away most of the complexities out of stateful applications (ie most applications). You also discover ingress resources and controllers, which make trivial so many things that are difficult with Swarm, like TLS termination. Swam doesn’t have such features, which any non-trivial app (say, Django, wordpress, etc) benefits from tremendously.

  • I normally used minikube for openfaas development - I appreciate the efforts of the project, it's an invalueable tool. The DfM integration works very well for local development and I've got some screenshots below:

    https://twitter.com/alexellisuk/status/949595379326210048

    Make sure you do a context-switch for kubectl too.

    I see some people talking about Swarm vs Kubernetes. Swarm has always maintained a less modular approach which made it simpler to work with - it's obviously not going anywhere since there are customers relying on it in production.

    Out of the two it's the only one that can actually fit into and run on a Raspberry Pi Zero because K8s has such high base requirements at idle in comparison. For a better comparison see my blog post - https://blog.alexellis.io/you-need-to-know-kubernetes-and-sw...

  • Docker for Mac is not usable today, because of high cpu due IO [1]

    [1] https://github.com/docker/for-mac/issues/1759

  • Wow! Did Docker give up swarm? I thought there was a time when Docker didn't like the existence of k8s all that much.

    Anyways, I envision this being very useful for development, may even replace my docker-compose based test setup.

  • Kubernetes is also coming to docker-ce: https://github.com/docker/docker-ce/releases/tag/v18.01.0-ce...

  • One of my engineering friends told me he didn't use Kubernetes in the past because there was a single point of failure with it for distributed setups.

    I really wish I could remember what SPOF was pertaining to, but I just can't remember. Does anyone have any idea if this is still relevant/accurate information?

    He told me this maybe 2-3 years ago, so I was wondering how things have changed since then, or if anyone knows what he might have been talking about.

  • Does this obviate minikube?

  • Anyway to get this feature without updating to High Sierra first?

  • I don't understand the use-case here. You want to use Docker+Kubernetes but can't work out the bits to run it in VM's on your own?

  • Once kubernetes become stable in docker ce can one attempt to run their own cluster on baremetal?

  • The phrase "Docker for Mac" is super misleading. If we run Docker in a Linux VM on macOS, I don't think it counts as "Docker for Mac", IMHO.

    Docker is primarily for running Linux applications on Linux (yes, I know there are things like Joyent SDC, Docker Engine on Windows etc).

  • Half-OT: Is it possible to run Xcode CLI tools from inside Docker for Mac?