Skip to content
This repository has been archived by the owner. It is now read-only.
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
120 lines (85 sloc) 5.82 KB

CoreOS-Vagrant Kubernetes Cluster for OS X

Note: This App is not much maintained anymore, please use it's alternative Kube-Cluster for macOS which is quicker to boot and does not need VirtualBox/Vagrant.


CoreOS-Vagrant Kubernetes Cluster GUI for Mac OS X is a Mac Status bar App which works like a wrapper around coreos-vagrant command line tool and bootstraps Kubernetes cluster with one master and two minions machines.

NEW: Includes Helm - The Kubernetes Package Manager

CoreOS is a Linux distribution made specifically to run Docker containers. CoreOS-Vagrant is made to run on VirtualBox and VMWare VMs.



Head over to the Releases Page to grab the latest release.

How to install

Required software:

  • VirtualBox, Vagrant and iTerm 2
  • Open downloaded dmg file and drag the App e.g. to your Desktop.
  • Start the CoreOS k8s Cluster App and from menu Setup and choose: Initial setup of CoreOS-Vagrant k8s Cluster

The install will do the following:

  • All dependent files/folders will be put under coreos-k8s-cluster folder in the user's home folder
  • It will clone latest coreos-vagrant from git
  • user-data files will have fleet, etcd and flannel set
  • master machine will be set with IP and two cluster nodes with IPs: and
  • It will download latest vagrant VBox and run vagrant up to initialise VM
  • When you first time install or do 'Up' after destroying k8s cluster, k8s binary files (with the version which was available when the App was built) get copied to CoreOS VMs, this speeds up k8s cluster setup. To update K8s cluster just run from menu 'Updates' - Update Kubernetes cluster and OS X kubectl.
  • It will install fleetctl, etcdctl and kubectl to ~/coreos-k8s-cluster/bin/
  • Kubernetes services will be installed with fleet units which are placed in ~/coreos-k8s-cluster/fleet, this allows very easy updates to fleet units if needed.
  • Also DNS Add On will be installed

How it works

Just start CoreOS k8s Cluster application and you will find a small icon with the CoreOS logo with (K) which means for k8s cluster in the Status Bar.

  • There you can Up, Suspend, Halt, Reload CoreOS vagrant VMs
  • Under Up (first does 'vagrant up') and OS Shell OS Shell (terminal) will have such environment set:
1) kubernetes master - export KUBERNETES_MASTER=
2) etcd endpoint - export ETCDCTL_PEERS=
3) fleetctl endpoint - export FLEETCTL_ENDPOINT=
4) fleetctl driver - export FLEETCTL_DRIVER=etcd
5) Path to ~/coreos-osx-cluster/bin where etcdctl, fleetctl and kubernetes binaries are stored
  • Updates/Update Kubernetes cluster and OS X kubectl will update to latest version of Kubernetes.
  • Updates/Update OS X fleetctl, etcdclt and fleet units will update fleetctl, etcdclt clients to the same versions as CoreOS VMs run and to latest fleet units if the new version of App is used.
  • Updates/Force CoreOS update will be run sudo update_engine_client -update on each CoreOS VM.
  • Updates/Check updates for CoreOS vbox will update CoreOS VM vagrant box.
  • SSH to k8smaster01 and k8snode-01/02 menu options will open VM shells
  • node1/2 cAdvisor will open cAdvisor URL in default browser
  • Fleet-UI dashboard will show running fleet units and etc
  • Kubernetes-UI (contributed by will show nice Kubernetes Dashboard, where you can check Nodes, Pods, Replication Controllers and etc.

Example ouput of succesfull CoreOS + Kubernetes cluster install:

etcd cluster:

fleetctl list-machines:
9b88a46c...	role=node
d0c68677...	role=node
f93b555e...	role=control

fleetctl list-units:
fleet-ui.service		f93b555e.../	active	running
kube-apiserver.service		f93b555e.../	active	running
kube-controller-manager.service	f93b555e.../	active	running
kube-kubelet.service		9b88a46c.../	active	running
kube-kubelet.service		d0c68677.../	active	running
kube-proxy.service		9b88a46c.../	active	running
kube-proxy.service		d0c68677.../	active	running
kube-scheduler.service		f93b555e.../	active	running

k8s nodes list:
NAME                LABELS              STATUS       node=worker1        Ready       node=worker2        Ready


You're now ready to use Kubernetes cluster.

Some examples to start with Kubernetes examples.

Other links

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.