TheNewNormal / kube-cluster-osx

Local development multi node Kubernetes Cluster for macOS made very simple
Apache License 2.0
298 stars 26 forks source link
kube-cluster kubernetes kubernetes-cluster kubernetes-setup

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.

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!