Git Product home page Git Product logo

coreos-kubernetes-cluster-osx's Introduction

CoreOS-Vagrant Kubernetes Cluster for OS X

Note: This App is not much maintained anymore, please use it's alternative Kube-Cluster for macOS which is quicker to boot and does not need VirtualBox/Vagrant.

k8s-multinode

CoreOS-Vagrant Kubernetes Cluster GUI for Mac OS X is a Mac Status bar App which works like a wrapper around coreos-vagrant command line tool and bootstraps Kubernetes cluster with one master and two minions machines.

NEW: Includes Helm - The Kubernetes Package Manager

CoreOS is a Linux distribution made specifically to run Docker containers. CoreOS-Vagrant is made to run on VirtualBox and VMWare VMs.

CoreOS-Vagrant-Kubernetes-Cluster-GUI

Download

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

How to install

Required software:

  • VirtualBox, Vagrant and iTerm 2
  • Open downloaded dmg file and drag the App e.g. to your Desktop.
  • Start the CoreOS k8s Cluster App and from menu Setup and choose: Initial setup of CoreOS-Vagrant k8s Cluster

The install will do the following:

  • All dependent files/folders will be put under coreos-k8s-cluster folder in the user's home folder
  • It will clone latest coreos-vagrant from git
  • user-data files will have fleet, etcd and flannel set
  • master machine will be set with IP 172.17.15.101 and two cluster nodes with IPs: 172.17.15.102 and 172.17.15.103
  • It will download latest vagrant VBox and run vagrant up to initialise VM
  • When you first time install or do 'Up' after destroying k8s cluster, k8s binary files (with the version which was available when the App was built) get copied to CoreOS VMs, this speeds up k8s cluster setup. To update K8s cluster just run from menu 'Updates' - Update Kubernetes cluster and OS X kubectl.
  • It will install fleetctl, etcdctl and kubectl to ~/coreos-k8s-cluster/bin/
  • Kubernetes services will be installed with fleet units which are placed in ~/coreos-k8s-cluster/fleet, this allows very easy updates to fleet units if needed.
  • Also DNS Add On will be installed

How it works

Just start CoreOS k8s Cluster application and you will find a small icon with the CoreOS logo with (K) which means for k8s cluster in the Status Bar.

  • There you can Up, Suspend, Halt, Reload CoreOS vagrant VMs
  • Under Up (first does 'vagrant up') and OS Shell OS Shell (terminal) will have such environment set:
1) kubernetes master - export KUBERNETES_MASTER=http://172.17.15.101:8080
2) etcd endpoint - export ETCDCTL_PEERS=http://172.17.15.101:4001
3) fleetctl endpoint - export FLEETCTL_ENDPOINT=http://172.17.15.101:4001
4) fleetctl driver - export FLEETCTL_DRIVER=etcd
5) Path to ~/coreos-osx-cluster/bin where etcdctl, fleetctl and kubernetes binaries are stored
  • Updates/Update Kubernetes cluster and OS X kubectl will update to latest version of Kubernetes.
  • Updates/Update OS X fleetctl, etcdclt and fleet units will update fleetctl, etcdclt clients to the same versions as CoreOS VMs run and to latest fleet units if the new version of App is used.
  • Updates/Force CoreOS update will be run sudo update_engine_client -update on each CoreOS VM.
  • Updates/Check updates for CoreOS vbox will update CoreOS VM vagrant box.
  • SSH to k8smaster01 and k8snode-01/02 menu options will open VM shells
  • node1/2 cAdvisor will open cAdvisor URL in default browser
  • Fleet-UI dashboard will show running fleet units and etc
  • Kubernetes-UI (contributed by Kismatic.io) will show nice Kubernetes Dashboard, where you can check Nodes, Pods, Replication Controllers and etc.

Example ouput of succesfull CoreOS + Kubernetes cluster install:

$ 
etcd cluster:
/registry
/coreos.com

fleetctl list-machines:
MACHINE		IP		METADATA
9b88a46c...	172.17.15.103	role=node
d0c68677...	172.17.15.102	role=node
f93b555e...	172.17.15.101	role=control

fleetctl list-units:
UNIT				MACHINE				ACTIVE	SUB
fleet-ui.service		f93b555e.../172.17.15.101	active	running
kube-apiserver.service		f93b555e.../172.17.15.101	active	running
kube-controller-manager.service	f93b555e.../172.17.15.101	active	running
kube-kubelet.service		9b88a46c.../172.17.15.103	active	running
kube-kubelet.service		d0c68677.../172.17.15.102	active	running
kube-proxy.service		9b88a46c.../172.17.15.103	active	running
kube-proxy.service		d0c68677.../172.17.15.102	active	running
kube-scheduler.service		f93b555e.../172.17.15.101	active	running

k8s nodes list:
NAME                LABELS              STATUS
172.17.15.102       node=worker1        Ready
172.17.15.103       node=worker2        Ready

Usage

You're now ready to use Kubernetes cluster.

Some examples to start with Kubernetes examples.

Other links

coreos-kubernetes-cluster-osx's People

Contributors

errm avatar grempe avatar jchauncey avatar probepark avatar rimusz avatar statik avatar tarunlalwani avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.