This version of localkube is deprecated.
The localkube project has been donated to be part of minikube where it is actively maintained. All new development can be found at https://github.com/kubernetes/minikube/tree/master/pkg/localkube
⚡ localkube ⚡
localkube is the easiest way to use Kubernetes. It provides a Kubernetes cluster configured to run locally and optimized for rapid development.
The environment is intended to be used with Kubernetes development tool spread.
localkube is a full Kubernetes 1.2 cluster, and has everything you need for a cluster in regards to networking (proxy, DNS, etc). Some more highlights:
- Single executable
- Single container
- Single process
- One command to start with
It's great for:
- Playing around with Kubernetes without having to set up a cluster on GCP or AWS
- Offline and rapid development with Kubernetes
- Make sure Docker is set up correctly, including starting
docker-machineto bring up a VM 
spread cluster startto start localkube
- Sanity check:
docker buildthe image that you want to work with 
- Create Kubernetes objects that use the image build above
spread build .to deploy to cluster 
- Iterate on your application, updating image and objects running
spread build .each time you want to deploy changes
- To preview changes, grab the IP of your docker daemon and use
kubectl describe services/'SERVICE-NAME'for the
NodePort, then put the
IP:NodePortin your browser
- When finished, run
spread cluster stopto stop localkube
 For now, we recommend everyone use a VM when working with
 There will be a delay in returning info the first time you start localkube, as the Weave networking container needs to download. This pause will be fixed in future releases.
spread will soon integrate building (#59)
localkube shares a Docker daemon with your host, there is no need to push images :)
###Developing on localkube
For those interested in contributing to development, this will compile localkube executable, build an image with it inside, and run a container with the build image.
docker command should be setup for the Docker daemon you want to run the cluster with.
make docker-build run-image
The apiserver will run on port 8080 of the Docker host.
Why use a local Kubernetes cluster in the first place?
Setting up a remote Kubernetes cluster takes too long, and you can't develop and test on a Kubernetes cluster offline with a remote cluster.
Why not use
monokube for local dev?
We built localkube to integrate with
spread for an interactive workflow when developing with Kubernetes. localkube is built as a full Kubernetes 1.2 cluster, has pod networking set up with Weave, and uses
spread for a rapid development workflow.