This project is not maintained anymore, please use minikube instead
Kube-Solo for macOS is a
status bar App which allows in an easy way to bootstrap and control Kubernetes cluster on a standalone CoreOS VM machine. VM can also be controlled via
ksolo cli. Also VM's
docker API is exposed to macOS, so you can build your docker images with the same app and use them with Kubernetes.
Kube-Solo for macOS is a similar app to minikube, just has more functionality and is an older project. You can run both Apps on your Mac even in parallel.
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.
App's menu looks as per image below:
Head over to the Releases Page to grab the latest release.
corectldserver daemon control.
brew install libev
latest dmgfrom the Releases Page and install it to
/Applicationsfolder, it allows to start/stop/update corectl tools needed to run CoreOS VMs on macOS
dmgfile and drag the App e.g. to your Desktop. Start the
Initial setup of Kube-Solo VMwill run, then follow the instructions there.
master+workerKubernetes cluster on the single VM
/Users/my_useron each VM boot, check the PV example how to use Persistent Volumes.
dockerclient is installed to
~/kube-solo/binand preset in
OS shellto be used from there, so you can build
dockerimages on the VM and use with Kubernetes
ksolocli as well. Cli resides in
~/binfolders and has simple commands:
ksolo start|stop|status|ip|ssh|shell, just add
~/binto your pre-set path.
The install will do the following:
~/kube-solofolder in the user's home folder e.g
corectlto initialise VM
Upafter destroying Kube-Solo setup, k8s binary files (with the version which was available when the App was built) get copied to VM, this allows to speed up Kubernetes setup.
docker, helm, deis and kubectlclients to
data.imgwill be created and mounted to
/datafor these mount binds and other folders:
/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
Kube-Solo application and you will find a small icon of Kubernetes logo with
S in the Status Bar.
SSH to k8solo-01will open VM shell
UpOS Shell will be opened after VM boots up and it will have such environment pre-set:
kubernetes master - export KUBERNETES_MASTER=http://192.168.64.xxx:8080 etcd endpoint - export ETCDCTL_PEERS=http://192.168.64.xxx:2379 DOCKER_HOST=tcp://192.168.64.xxx:2375
Path to `~/kube-solo/bin` where macOS clients and shell scripts are stored
ksolo startwill start k8solo-01 VM and shell environment will be pre-set as above.
ksolo stopwill stop VM
ksolo statuswill show VM's status
ksolo ipwill show VM's IP
ksolo sshwill ssh to VM
ksolo shellwill open pre-set shell
Check for App updateswill check for a new app version
Updates/Update Kubernetes to the latest versionwill update to latest version of Kubernetes.
Updates/Change Kubernetes versionwill download and install specified Kubernetes version from GitHub.
Updates/Update macOS helm and deis clientswill update
deisto the latest version.
Setup/will allow you to do:
- Change CoreOS Release Channel - Change VM's RAM size - Destroy Kube-Solo VM (just deletes data.img file) - Initial setup of Kube-Solo VM
Example output of succesfull Kubernetes Solo install:
kubectl cluster-info: Kubernetes master is running at http://192.168.64.3:8080 KubeDNS is running at http://192.168.64.3:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns kubernetes-dashboard is running at http://192.168.64.3:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard Cluster version: Client version: v1.5.1 Server version: v1.5.1 kubectl get nodes: NAME STATUS AGE k8solo-01 Ready 12s
You're now ready to use Kubernetes cluster.
Some examples to start with Kubernetes examples.
Kubernetes Cluster (master + 2 nodes) App - Kube-Cluster for OS X.
Standalone CoreOS VM App - CoreOS macOS.
CoreOS Cluster (control + 2 nodes) App - CoreOS-Vagrant Cluster.