Deploy a Production Ready Kubernetes Cluster on bare metal or raw VMs - This is a clone of https://github.com/kubernetes-sigs/kubespray.git with a kitten twist.
Find a file
Paul Czarkowski 5240465f39 set vm box to be hashicorp hosted trusty
I accidently left in the old download URL for coreos
even after I switched the box name to be ubuntu, it
worked fine for me because I already had that box
locally so it didn't try to download.  This should
resolve this by using the official bento/ubuntu-14.04
box which is a nice minimal image.

We also allow the default behaviour of sharing folder to VMs

By doing this we can stage our download files in a shared location
and speed up subsequent runs significantly.

Finally will create more verbose documentation.
2016-05-20 17:04:03 -05:00
inventory Use correct google ns for dns upstream 2016-05-17 13:19:13 +02:00
roles Fix issue with check_certs playbook 2016-05-15 17:15:59 -05:00
scripts upgrade k8s vers, and add a script for future upgrades 2016-05-12 15:56:30 +02:00
tests upgrade k8s vers, and add a script for future upgrades 2016-05-12 15:56:30 +02:00
.gitignore set vm box to be hashicorp hosted trusty 2016-05-20 17:04:03 -05:00
.gitmodules Remove submodules 2016-03-04 16:14:01 +01:00
.travis.yml upgrade k8s vers, and add a script for future upgrades 2016-05-12 15:56:30 +02:00
ansible.cfg Add complete test integration 2016-02-10 22:58:57 +01:00
cluster.yml Dnsmasq runs on all nodes 2016-03-21 11:37:35 +01:00
coreos-bootstrap.yml first version of CoreOS on GCE 2016-02-21 00:06:36 +01:00
LICENSE Create LICENSE 2016-03-01 15:37:01 +01:00
README.md set vm box to be hashicorp hosted trusty 2016-05-20 17:04:03 -05:00
requirements.txt Add native Vagrant support 2016-05-08 10:17:11 -05:00
requirements.yml upgrade calico v0.19.0, calico-cni v1.2.1 2016-04-19 18:28:45 +02:00
uploads.yml Upload files to a separate storage 2016-03-04 17:39:02 +01:00
Vagrantfile set vm box to be hashicorp hosted trusty 2016-05-20 17:04:03 -05:00

Kubespray Logo

Deploy a production ready kubernetes cluster

  • Can be deployed on AWS, GCE, OpenStack or Baremetal
  • High available cluster
  • Composable (Choice of the network plugin for instance)
  • Support most popular Linux distributions
  • Continuous integration tests

Getting Started

To deploy the cluster you can use :

kargo-cli

kargo-cli

Vagrant

Assuming you have Vagrant (1.8+) installed with virtualbox (it may work with vmware, but is untested) you should be able to launch a 3 node Kubernetes cluster by simply running $ vagrant up.

This will spin up 3 VMs and install kubernetes on them. Once they are completed you can connect to any of them by running $ vagrant ssh k8s-0[1..3].

$ vagrant up
Bringing machine 'k8s-01' up with 'virtualbox' provider...
Bringing machine 'k8s-02' up with 'virtualbox' provider...
Bringing machine 'k8s-03' up with 'virtualbox' provider...
==> k8s-01: Box 'bento/ubuntu-14.04' could not be found. Attempting to find and install...
...
...
    k8s-03: Running ansible-playbook...

PLAY [k8s-cluster] *************************************************************

TASK [setup] *******************************************************************
ok: [k8s-03]
ok: [k8s-01]
ok: [k8s-02]
...
...
PLAY RECAP *********************************************************************
k8s-01                     : ok=157  changed=66   unreachable=0    failed=0   
k8s-02                     : ok=137  changed=59   unreachable=0    failed=0   
k8s-03                     : ok=86   changed=51   unreachable=0    failed=0   

$ vagrant ssh k8s-01
vagrant@k8s-01:~$ kubectl get nodes
NAME      STATUS    AGE
k8s-01    Ready     45s
k8s-02    Ready     45s
k8s-03    Ready     45s

Ansible

Ansible usual commands

Further Reading

A complete documentation can be found here

if you have any question you can chat with us SlackStatus

Build Status
CI tests sponsored by Google (GCE), and teuto.net for OpenStack.