All Projects → TheNewNormal → Kube Solo Osx

TheNewNormal / Kube Solo Osx

Licence: apache-2.0
Local development Kubernetes Solo Cluster for macOS made very simple

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Kube Solo Osx

terraform-aws-minikube
Terraform module for single node Kubernetes instance bootstrapped using kubeadm
Stars: ✭ 58 (-89.97%)
Mutual labels:  kubernetes-setup
pod-inspector
A tool to inspect pods in kubernetes
Stars: ✭ 63 (-89.1%)
Mutual labels:  kubernetes-setup
Kube Cluster Osx
Local development multi node Kubernetes Cluster for macOS made very simple
Stars: ✭ 294 (-49.13%)
Mutual labels:  kubernetes-setup
kubernetes the easy way
Automating Kubernetes the hard way with Vagrant and scripts
Stars: ✭ 22 (-96.19%)
Mutual labels:  kubernetes-setup
kubernetes-ami
A simple AMI and CloudFormation for launching Kubernetes on AWS
Stars: ✭ 41 (-92.91%)
Mutual labels:  kubernetes-setup
k8s-install.sh
k8s国内安装脚本: 不整那么复杂, 复制-粘贴-敲回车就好了.
Stars: ✭ 16 (-97.23%)
Mutual labels:  kubernetes-setup
kainstall-offline
kainstall tools offline file
Stars: ✭ 31 (-94.64%)
Mutual labels:  kubernetes-setup
Rak8s
Stand up a Raspberry Pi based Kubernetes cluster with Ansible
Stars: ✭ 354 (-38.75%)
Mutual labels:  kubernetes-setup
rak8s
Stand up a Raspberry Pi based Kubernetes cluster with Ansible
Stars: ✭ 362 (-37.37%)
Mutual labels:  kubernetes-setup
Eksctl
The official CLI for Amazon EKS
Stars: ✭ 3,550 (+514.19%)
Mutual labels:  kubernetes-setup
aws-kubernetes
Kubernetes cluster setup in AWS using Terraform and kubeadm
Stars: ✭ 32 (-94.46%)
Mutual labels:  kubernetes-setup
GPU-Kubernetes-Guide
How to setup a production-grade Kubernetes GPU cluster on Paperspace in 10 minutes for $10
Stars: ✭ 34 (-94.12%)
Mutual labels:  kubernetes-setup
K8s Kotlin Dsl
Kotlin DSL for Kubernetes configs
Stars: ✭ 259 (-55.19%)
Mutual labels:  kubernetes-setup
kubernetes-cluster
Vagrant As Automation Script
Stars: ✭ 34 (-94.12%)
Mutual labels:  kubernetes-setup
Sealos
一条命令离线安装高可用kubernetes,3min装完,700M,100年证书,版本不要太全,生产环境稳如老狗
Stars: ✭ 5,253 (+808.82%)
Mutual labels:  kubernetes-setup
K8s-Cluster-Provisioner-GCP-Terrafrom
This repo will seamlessly setup self managed Kubernetes cluster in GCP using Terraform and Kubespray.
Stars: ✭ 17 (-97.06%)
Mutual labels:  kubernetes-setup
kubernetes-workshop
Kubernetes Workshop
Stars: ✭ 35 (-93.94%)
Mutual labels:  kubernetes-setup
Kubernix
Single dependency Kubernetes clusters for local testing, experimenting and development
Stars: ✭ 545 (-5.71%)
Mutual labels:  kubernetes-setup
Kubekit
A Kubernetes deployment toolkit for offline environment.
Stars: ✭ 328 (-43.25%)
Mutual labels:  kubernetes-setup
Kubernetes Under The Hood
This tutorial is someone planning to install a Kubernetes cluster and wants to understand how everything fits together.
Stars: ✭ 279 (-51.73%)
Mutual labels:  kubernetes-setup

Kubernetes Solo cluster for macOS

This project is not maintained anymore, please use minikube instead

Zero to Kubernetes development environment setup under two minutes

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.

k8s-solo

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 v2 - The Kubernetes Package Manager and an option from shell to install Deis Workflow PaaS on top of Kubernetes with a simple: $ install_deis command.

App's menu looks as per image below:

Kube-Solo

Download

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

How to install Kube-Solo

Requirements

  • macOS 10.10.3 Yosemite or later
  • Mac 2010 or later for this to work.
  • Note: Corectl App must be installed, which will serve as corectld server daemon control.
  • iTerm2 is required, if not found the app will install it by itself.
  • libev brew install libev

Install:

  • Download Corectl App 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 macOS
  • 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.

TL;DR

  • App's files are installed to ~/kube-solo folder
  • App will bootstrap master+worker Kubernetes cluster on the single VM
  • 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 how to use Persistent Volumes.
  • 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
  • After successful install you can control kube-solo VM via ksolo cli as well. Cli resides in ~/kube-solo/bin and ~/binfolders and has simple commands: ksolo start|stop|status|ip|ssh|shell, just add ~/bin to your pre-set path.

The install will do the following:

  • All dependent files/folders will be put under ~/kube-solo folder in the user's home folder e.g /Users/someuser/kube-solo.
  • Will download latest CoreOS ISO image (if there is no such one) and run corectl to initialise VM
  • 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.
  • It will install docker, helm, deis and kubectl clients to ~/kube-solo/bin/
  • Kubernetes Dashboard and DNS will be instlled as add-ons
  • 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
  • Persistent sparse disk (QCow2) data.img will be created and mounted to /data for 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

How it works

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

Menu options:

  • There you can Up and Halt k8solo-01 VM
  • SSH to k8solo-01 will open VM shell
  • Under Up OS 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 cli options:

  • ksolo start will start k8solo-01 VM and shell environment will be pre-set as above.
  • ksolo stop will stop VM
  • ksolo statuswill show VM's status
  • ksolo ip will show VM's IP
  • ksolo ssh will ssh to VM
  • ksolo shell will open pre-set shell

Other menu options:

  • Kubernetes Dashboard will show nice Kubernetes Dashboard, where you can check Nodes, Pods, Replication, Deployments, Service Controllers, deploy Apps and etc.
  • Check for App updates will check for a new app version
  • Updates/Update Kubernetes to the latest version will update to latest version of Kubernetes.
  • Updates/Change Kubernetes version will download and install specified Kubernetes version from GitHub.
  • Updates/Update macOS helm and deis clients will update helm and deis to 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

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-Solo for macOS is an open source project release under the Apache License, Version 2.0, hence contributions and suggestions are gladly welcomed!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].