{"id":13837210,"url":"https://github.com/TheNewNormal/kube-solo-osx","last_synced_at":"2025-07-10T16:32:26.768Z","repository":{"id":79125249,"uuid":"44386832","full_name":"TheNewNormal/kube-solo-osx","owner":"TheNewNormal","description":"Local development Kubernetes Solo Cluster for macOS made very simple","archived":true,"fork":false,"pushed_at":"2017-10-05T14:46:18.000Z","size":1870429,"stargazers_count":575,"open_issues_count":21,"forks_count":29,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-07-05T03:39:34.326Z","etag":null,"topics":["kubernetes","kubernetes-setup","kubernetes-solo"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheNewNormal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2015-10-16T13:27:44.000Z","updated_at":"2025-04-28T08:00:04.000Z","dependencies_parsed_at":"2023-03-07T16:30:42.215Z","dependency_job_id":null,"html_url":"https://github.com/TheNewNormal/kube-solo-osx","commit_stats":null,"previous_names":[],"tags_count":84,"template":false,"template_full_name":null,"purl":"pkg:github/TheNewNormal/kube-solo-osx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fkube-solo-osx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fkube-solo-osx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fkube-solo-osx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fkube-solo-osx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheNewNormal","download_url":"https://codeload.github.com/TheNewNormal/kube-solo-osx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fkube-solo-osx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264608135,"owners_count":23636684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kubernetes","kubernetes-setup","kubernetes-solo"],"created_at":"2024-08-04T15:01:03.401Z","updated_at":"2025-07-10T16:32:26.083Z","avatar_url":"https://github.com/TheNewNormal.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"Kubernetes Solo cluster for macOS\n============================\n\n**This project is not maintained anymore, please use [minikube](https://github.com/kubernetes/minikube) instead**\n\nZero to Kubernetes development environment setup under two minutes\n---------------\n\n**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](https://coreos.com) 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. \n\n**Kube-Solo for macOS** is a similar app to [minikube](https://github.com/kubernetes/minikube), just has more functionality and is an older project. You can run both Apps on your Mac even in parallel.\n\n![k8s-solo](k8s-singlenode.png)\n\nIt leverages **macOS native Hypervisor virtualisation framework** of using [corectl](https://github.com/TheNewNormal/corectl) command line tool, so there are no needs to use VirtualBox or any other virtualisation software anymore.\n\n**Includes:** [Helm v2](https://github.com/kubernetes/helm) - The Kubernetes Package Manager and an option from shell to install [Deis Workflow PaaS](https://deis.com/workflow) on top of Kubernetes with a simple: `$ install_deis` command.\n\n**App's menu** looks as per image below:\n\n![Kube-Solo](kube-solo-osx.png \"Kubernetes-Solo\")\n\nDownload\n--------\nHead over to the [Releases Page](https://github.com/TheNewNormal/kube-solo-osx/releases) to grab the latest release.\n\n\nHow to install Kube-Solo\n----------\n\n**Requirements**\n -----------\n  - **macOS 10.10.3** Yosemite or later \n  - Mac 2010 or later for this to work.\n  - **Note: [Corectl App](https://github.com/TheNewNormal/corectl.app) must be installed, which will serve as `corectld` server daemon control.**\n  - [iTerm2](https://www.iterm2.com/) is required, if not found the app will install it by itself.\n  - [libev](https://github.com/enki/libev) `brew install libev`\n\n\n### Install:\n\n- Download [Corectl App](https://github.com/TheNewNormal/corectl.app) `latest dmg` from the [Releases Page](https://github.com/TheNewNormal/corectl.app/releases) and install it to `/Applications` folder, it allows to start/stop/update [corectl](https://github.com/TheNewNormal/corectl) tools needed to run CoreOS VMs on macOS\n- Open downloaded `dmg` file and drag the App e.g. to your Desktop. Start the `Kube-Solo` App and `Initial setup of Kube-Solo VM` will run, then follow the instructions there.\n\n**TL;DR**\n\n- App's files are installed to `~/kube-solo` folder\n- App will bootstrap `master+worker` Kubernetes cluster on the single VM\n- Mac user home folder is automaticly mounted via NFS (it has to work on Mac end of course) to `/Users/my_user`:`/Users/my_user` on each VM boot, check the [PV example](https://github.com/TheNewNormal/kube-solo-osx/blob/master/examples/pv/nfs-pv-mount-on-pod.md) how to use Persistent Volumes.\n- macOS `docker` client is installed to `~/kube-solo/bin` and preset in `OS shell` to be used from there, so you can build `docker` images on the VM and use with Kubernetes\n- After successful install you can control `kube-solo` VM via `ksolo` cli as well. Cli resides in `~/kube-solo/bin` and `~/bin`folders and has simple commands: `ksolo start|stop|status|ip|ssh|shell`, just add `~/bin` to your pre-set path.\n\n**The install will do the following:**\n\n* All dependent files/folders will be put under `~/kube-solo` folder in the user's home folder e.g `/Users/someuser/kube-solo`. \n* Will download latest CoreOS ISO image (if there is no such one) and run `corectl` to initialise VM \n* When you first time do install or `Up` after 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.\n* It will install `docker, helm, deis and kubectl` clients to `~/kube-solo/bin/`\n* [Kubernetes Dashboard](http://kubernetes.io/docs/user-guide/ui/) and  [DNS](https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/dns) will be instlled as add-ons\n* Via assigned static IP (it will be shown in first boot and will survive VM's reboots) you can access any port on CoreOS VM\n* Persistent sparse disk (QCow2) `data.img` will be created and mounted to `/data` for these mount binds and other folders:\n\n```\n/data/var/lib/docker -\u003e /var/lib/docker\n/data/var/lib/rkt -\u003e /var/lib/rkt\n/var/lib/kubelet sym linked to /data/kubelet\n/data/opt/bin\n/data/var/lib/etcd2\n/data/kubernetes\n```\n\nHow it works\n------------\n\nJust start `Kube-Solo` application and you will find a small icon of Kubernetes logo with `S` in the Status Bar.\n\n### Menu options:\n* There you can `Up` and `Halt` k8solo-01 VM\n* `SSH to k8solo-01` will open VM shell\n* Under `Up` OS Shell will be opened after VM boots up and it will have such environment pre-set:\n\n```\nkubernetes master - export KUBERNETES_MASTER=http://192.168.64.xxx:8080\netcd endpoint - export ETCDCTL_PEERS=http://192.168.64.xxx:2379\nDOCKER_HOST=tcp://192.168.64.xxx:2375\n```\n\n```\nPath to `~/kube-solo/bin` where macOS clients and shell scripts are stored\n```\n\n### ksolo cli options:\n* `ksolo start` will start k8solo-01 VM and shell environment will be pre-set as above.\n* `ksolo stop` will stop VM\n* `ksolo status`will show VM's status\n* `ksolo ip` will show VM's IP\n* `ksolo ssh` will ssh to VM\n* `ksolo shell` will open pre-set shell\n\n### Other menu options:\n* [Kubernetes Dashboard](http://kubernetes.io/docs/user-guide/ui/) will show nice Kubernetes Dashboard, where you can check Nodes, Pods, Replication, Deployments, Service Controllers, deploy Apps and etc.\n* `Check for App updates` will check for a new app version\n* `Updates/Update Kubernetes to the latest version` will update to latest version of Kubernetes.\n* `Updates/Change Kubernetes version` will download and install specified Kubernetes version from GitHub.\n* `Updates/Update macOS helm and deis clients` will update `helm` and `deis` to the latest version.\n* `Setup/` will allow you to do:\n\n```\n- Change CoreOS Release Channel\n- Change VM's RAM size\n- Destroy Kube-Solo VM (just deletes data.img file)\n- Initial setup of Kube-Solo VM\n```\n\nExample output of succesfull Kubernetes Solo install:\n\n````\nkubectl cluster-info:\nKubernetes master is running at http://192.168.64.3:8080\nKubeDNS is running at http://192.168.64.3:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns\nkubernetes-dashboard is running at http://192.168.64.3:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard\n\nCluster version:\nClient version: v1.5.1\nServer version: v1.5.1\n\nkubectl get nodes:\nNAME        STATUS    AGE\nk8solo-01   Ready     12s\n\n````\n\n\n\nUsage\n------------\n\nYou're now ready to use Kubernetes cluster.\n\nSome examples to start with [Kubernetes examples](http://kubernetes.io/docs/samples/).\n\nOther CoreOS VM based Apps for macOS\n-----------\n* Kubernetes Cluster (master + 2 nodes) App - [Kube-Cluster for OS X](https://github.com/TheNewNormal/kube-cluster-osx).\n\n* Standalone CoreOS VM App - [CoreOS macOS](https://github.com/TheNewNormal/coreos-osx).\n\n* CoreOS Cluster (control + 2 nodes) App - [CoreOS-Vagrant Cluster](https://github.com/rimusz/coreos-osx-cluster).\n\n## Contributing\n\n**Kube-Solo for macOS** is an [open source](http://opensource.org/osd) project release under\nthe [Apache License, Version 2.0](http://opensource.org/licenses/Apache-2.0),\nhence contributions and suggestions are gladly welcomed! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheNewNormal%2Fkube-solo-osx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTheNewNormal%2Fkube-solo-osx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheNewNormal%2Fkube-solo-osx/lists"}