
Run Kubernetes on a Mac with Kube Solo - tdurden
https://deis.com/blog/2016/run-kubernetes-on-a-mac-with-kube-solo/
======
dvcrn
A few questions to Kubernetes people:

We are currently using Docker images locally and compose them together with
docker-compose. Compose is using a custom devDockerfile identical to the
normal Dockerfile, plus a self-reloading / self-compiling webserver.

For deployment we are using AWS EB and push the same Dockerfile (minus the
self-reloading webserver). For heavy load applications, we use autoscaling
behind a AWS loadbalancer.

Is Kubernetes giving us something over our current Docker setup? Can it
improve on our workflow?

Is the time investment for learning this worth it for private projects vs
plain Docker that can get pushed to Heroku / Google / AWS?

I have Kubernetes on my list of things I want to check out but every time I go
into the getting started guides for local environments, it seems like a lot of
work for just setting the environment up. One of the things I love Docker is
that I can write the Dockerfile and everyone from our team can very easily use
it and immediately has the app running. No Docker? Just install Docker and
compose through brew or download it from the website. That's it.

~~~
tobad357
I think it won't give you much in Dev but can give your more in production. We
have the following work flow

1\. Use Docker images for our applications where we can run them locally by
mounting in a config file pointing to local db or dev cluster db etc

2\. We then use CI to build new docker images and push them to our registry

3\. Using Kubernetes deployment yaml files we then deploy the new versions to
the cluster with rolling upgrades. This can be combined with auto scaling For
config we have a Kubernetes ConfigMap in the cluster which then gets mounted
into the docker containers when they start.

My suggestions would be for you to check out Googles Hosted Kubernetes which
removes a lot of the headache of getting up and running.
[https://cloud.google.com/container-
engine/](https://cloud.google.com/container-engine/)

------
dstroot
Just curious - how does this compare to just running minikube?

~~~
manojlds
From a casual read - 1) has a status bar icon for easier control, just like
Docker for Mac. 2) Uses CoreOS as the base OS in xhyve

------
manojlds
What is going on in that second para:

> Fortunately, now that Docker for Mac is generally available, you can easily
> run both Docker and Kubernetes on OS X

and then

> But what if you want to get up and running with Kubernetes on OS X?

------
prdonahue
Would love not to have to maintain separate docker-compose config files for
development and Kubernetes/Marathon/whatever for staging/production.

~~~
ledneb
We use Minikube during development and have dropped compose files entirely :)

~~~
miller_joe
Have you run into any issues where the minikube env is sufficiently different
from production that you it requires some tweaks/hacks?

Also curious if you run multiple services in local minikube for integration
testing?

------
010a
Curious: Does the usage of CoreOS replace Docker OSX's virtualbox linux VM it
uses? And if not, is there any reason why KubeSolo couldn't be designed to run
on that VM, just to save resources?

~~~
manojlds
Docker for Mac ditches VirtualBox and uses a more native xhyve. Also, I
believe, Alpine Linux is used as the OS for the xhyve VM.

This uses the same Xhyve driver with CoreOS as base OS.

~~~
mikey_p
Yes, but why does this depend on Docker for OS X if it's not reusing Docker's
Alpine VM?

~~~
dlor
Docker's new Alpine VM isn't really designed to be reused. AFAICT the
interfaces are private and undocumented.

Reusing xhyve/hyperkit seems more stable, given that they're designed to be
embedded.

