5 minutes to a running multi-node cluster that can run in your laptop. VBox machines running CoreOS on host-local networking, not exposed to internet. Notes below for other options.
Here is the recipe, adapted from the official instructions here: https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagrant.html
$update_channel="alpha"
$controller_count=1
$controller_vm_memory=512
$worker_count=2
$worker_vm_memory=1024
$etcd_count=1
$etcd_vm_memory=512
vagrant up --provider virtualbox
export KUBECONFIG="${KUBECONFIG}:$(pwd)/kubeconfig"
Alt: Add the config to any existing ~/.kube/config if you are working with multiple clusters and or namespaces (kubectl set-cluster, kubectl set-context, etc.)
Should be operational, some useful commands (use in the multinode/vagrant path)
vagrant ssh c1 (or the other names) to get into coreos
vagrant status
vagrant suspend/resume
Once in a while net doesn't come back, and kubectl says:
The connection to the server 172.17.4.101:443 was refused - did you specify the right host or port?
In this case you can vagrant halt, vagrant up
vagrant destroy (obliterates)
Enjoy,
D
Can be used for volume/fs work by adding VBox disks to nodes. Kubernetes doesn't have a VBox/vagrant volume driver (yet), so you get raw disk on nodes like we have in OpenStack.
Can be used for ingress/network by adding additional interface to the node to be LB.
It can be left running, or vagrant suspend/resume can freeze/thaw the whole cluster in a few seconds if you want it toiling around in the background. Can also vagrant halt/up to shutdown/reboot and cluster state (etcd) is preserved.