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
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:
spread
It's great for:
docker-machine
to bring up a VM [1]spread cluster start
to start localkubekubectl cluster-info
[2]docker build
the image that you want to work with [2]spread build .
to deploy to cluster [3]spread build .
each time you want to deploy changeskubectl describe services/'SERVICE-NAME'
for the NodePort
, then put the IP:NodePort
in your browserspread cluster stop
to stop localkube[1] For now, we recommend everyone use a VM when working with localkube
[2] 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.
[3] spread
will soon integrate building (#59)
[4] Since localkube
shares a Docker daemon with your host, there is no need to push images :)
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.
The docker
command should be setup for the Docker daemon you want to run the cluster with.
Linux
make run-image
OS X/Windows
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 hyperkube
or 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.