Name: kube-cluster-osx
Owner: The New Normal
Description: Local development multi node Kubernetes Cluster for macOS made very simple
Created: 2015-11-06 13:37:36.0
Updated: 2018-01-16 18:07:32.0
Pushed: 2017-10-05 14:46:54.0
Size: 1176905
Language: Shell
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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.
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:
Head over to the Releases Page to grab the latest release.
Requirements
corectld
server daemon control.latest dmg
from the Releases Page and install it to /Applications
folder, it allows to start/stop/update corectl tools needed to run CoreOS VMs on macOSdmg
file and drag the App e.g. to your Desktop. Start the Kube-Cluster
and Initial setup of Kube-Cluster VMs
will run, then follow the instructions there.TL;DR
~/kube-cluster
foldermaster + two nodes
Kubernetes cluster on three VMs./Users/my_user
:/Users/my_user
on each boot, check the PV example how to use Persistent Volumes.kcluster
cli as well. Cli resides in ~/kube-cluster/bin
folder and has simple commands: kcluster start|stop|status|ip
. Just copy the kcluster
to your shell pre-set path.The install will do the following:
kube-cluster
folder in the user's home folder e.g /Users/someuser/kube-cluster
corectl
to initialise VMfleetctl, kubectl, helm and deis
clients to ~/kube-cluster/bin/
~/kube-cluster/fleet
, this allows very easy updates to fleet units if needed.xxx-data.img
will be created and mounted to VMs as /data
for these mount binds and other folders:a/var/lib/docker -> /var/lib/docker
a/var/lib/rkt -> /var/lib/rkt
/lib/kubelet sym linked to /data/kubelet
a/opt/bin
a/var/lib/etcd2
a/kubernetes
Just start Kube-Cluster
application and you will find a small icon with the Kubernetes logo in the Status Bar.
There you can Up
, Halt
, Reload
CoreOS VMs
Under Up
and OS Shell
OS Shell (terminal) will have such environment set:
ubernetes master - export KUBERNETES_MASTER=http://192.168.64.xxx:8080
tcd endpoint - export ETCDCTL_PEERS=http://192.168.64.xxx:2379
leetctl endpoint - export FLEETCTL_ENDPOINT=http://192.168.64.xxx:2379
leetctl driver - export FLEETCTL_DRIVER=etcd
ath to ~/kube-cluster/bin where fleetctl, helmc, deis and kubectl are stored
Updates/Update Kubernetes to latest stable version
will update to latest stable version of Kubernetes.
Updates\Change Kubernetes version
allows you to insatll any Kubernetes version available on github.com.
Updates/Update macOS fleetctl, helmc and deis clients
will update fleetctl to the same versions as Kube-Cluster Master runs and helmc and deis to the latest versions.
SSH to k8smaster01 and k8snode-01/02
menu options will open VMs shell
Fleet-UI dashboard will show running fleet units and etc
Kubernetes Dashboard will show nice Kubernetes Dashboard, where you can check Nodes, Pods, Replication, Deployments, Service Controllers, deploy Apps and etc.
Example ouput of succesfull CoreOS + Kubernetes cluster install:
tctl list-units:
MACHINE ACTIVE SUB
t-ui.service 78ea6428.../192.168.64.5 active running
-apiserver.service 78ea6428.../192.168.64.5 active running
-controller-manager.service 78ea6428.../192.168.64.5 active running
-scheduler.service 78ea6428.../192.168.64.5 active running
-kubelet.service 1d00e269.../192.168.64.6 active running
-kubelet.service de9127a5.../192.168.64.7 active running
-proxy.service 1d00e269.../192.168.64.6 active running
-proxy.service de9127a5.../192.168.64.7 active running
ing for Kubernetes cluster to be ready. This can take a few minutes...
ing for Kubernetes nodes to be ready. This can take a bit...
"k8snode-01" labeled
"k8snode-02" labeled
ting kube-system namespace ...
alling SkyDNS ...
icationcontroller "kube-dns-v17" created
ice "kube-dns" created
alling Kubernetes Dashboard ...
oyment "kubernetes-dashboard-v1.4.0" created
ice "kubernetes-dashboard" created
ctl get nodes:
STATUS AGE
ode-01 Ready 6s
ode-02 Ready 6s
You're now ready to use Kubernetes cluster.
Some examples to start with Kubernetes examples.
Kubernetes Solo Cluster VM App can be found here Kube-Solo for macOS.
Standalone CoreOS VM App (good for docker images building and testing) can be found here CoreOS VM for macOS.
CoreOS Cluster App without Kubernetes can be found here CoreOS Cluster for macOS.
Kube-Cluster for macOS is an open source project release under the Apache License, Version 2.0, hence contributions and suggestions are gladly welcomed!