Home

Awesome

Easy Kubernetes Cluster for macOS

This project is not maintained anymore, please use minikube instead

Kube-Cluster for macOS is a status bar app which allows in an easy way to bootstrap and control multi-node (master+ two nodes) Kubernetes cluster on three CoreOS VMs.

k8s-multinode

It leverages macOS native Hypervisor virtualisation framework of using corectl command line tool, so there are no needs to use VirtualBox or any other virtualisation software anymore.

Includes: Helm Classic / Helm v2 - The Kubernetes Package Manager and an option from shell to install Deis Workflow on top of Kubernetes: $ install_deis

Kube-Cluster App can be used together with CoreOS VM App which allows to build Docker containers and both apps have access to the same local Docker registry hosted by Corectl App.

App's menu looks as per image below:

Kube-Cluster

Download

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

How to install Kube-Cluster

Requirements

Install:

TL;DR

The install will do the following:

/data/var/lib/docker -> /var/lib/docker
/data/var/lib/rkt -> /var/lib/rkt
/var/lib/kubelet sym linked to /data/kubelet
/data/opt/bin
/data/var/lib/etcd2
/data/kubernetes

How it works

Just start Kube-Cluster application and you will find a small icon with the Kubernetes logo in the Status Bar.

1) kubernetes master - export KUBERNETES_MASTER=http://192.168.64.xxx:8080
2) etcd endpoint - export ETCDCTL_PEERS=http://192.168.64.xxx:2379
3) fleetctl endpoint - export FLEETCTL_ENDPOINT=http://192.168.64.xxx:2379
4) fleetctl driver - export FLEETCTL_DRIVER=etcd
5) Path to ~/kube-cluster/bin where fleetctl, helmc, deis and kubectl are stored

Example ouput of succesfull CoreOS + Kubernetes cluster install:

fleetctl list-units:
UNIT							MACHINE						ACTIVE		SUB
fleet-ui.service				78ea6428.../192.168.64.5	active		running
kube-apiserver.service			78ea6428.../192.168.64.5	active		running
kube-controller-manager.service	78ea6428.../192.168.64.5	active		running
kube-scheduler.service			78ea6428.../192.168.64.5	active		running
kube-kubelet.service			1d00e269.../192.168.64.6	active		running
kube-kubelet.service			de9127a5.../192.168.64.7	active		running
kube-proxy.service				1d00e269.../192.168.64.6	active		running
kube-proxy.service				de9127a5.../192.168.64.7	active		running

Waiting for Kubernetes cluster to be ready. This can take a few minutes...
\...

Waiting for Kubernetes nodes to be ready. This can take a bit...
-...

node "k8snode-01" labeled
node "k8snode-02" labeled

Creating kube-system namespace ...

Installing SkyDNS ...
replicationcontroller "kube-dns-v17" created
service "kube-dns" created

Installing Kubernetes Dashboard ...
Deployment "kubernetes-dashboard-v1.4.0" created
service "kubernetes-dashboard" created

kubectl get nodes:
NAME         STATUS    AGE
k8snode-01   Ready     6s
k8snode-02   Ready     6s

Usage

You're now ready to use Kubernetes cluster.

Some examples to start with Kubernetes examples.

Other CoreOS VM based Apps for macOS

Contributing

Kube-Cluster for macOS is an open source project release under the Apache License, Version 2.0, hence contributions and suggestions are gladly welcomed!