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.
Go to file
Matthew Mosesohn f073ee91ea Copy hyperkube cni plugins optionally for calico deployment
Hyperkube from CoreOS now ships with all binaries required for
calico and flannel (but not weave). It simplifies deployment for
some network plugin scenarios to not download CNI images.

TODO: Optionally disable downloading calico to /opt/cni/bin
2016-08-10 15:35:53 +03:00
contrib/terraform Merge pull request #294 from billyoung/master 2016-06-18 11:03:24 +02:00
docs Add HA/LB endpoints for kube-apiserver 2016-07-25 17:25:45 +02:00
inventory Add HA/LB endpoints for kube-apiserver 2016-07-25 17:25:45 +02:00
library Add variables to kpm module 2016-06-12 18:02:44 +02:00
roles Copy hyperkube cni plugins optionally for calico deployment 2016-08-10 15:35:53 +03:00
scripts Collect ansible logs as artifacts 2016-08-08 16:52:08 +02:00
tests Revert "Merge pull request #393 from bogdando/ci_changes" 2016-08-03 12:42:52 +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 Collect ansible logs as artifacts 2016-08-08 16:52:08 +02:00
ansible.cfg Add complete test integration 2016-02-10 22:58:57 +01:00
cluster.yml Fix etcd standalone deployment 2016-07-26 18:15:06 +03:00
coreos-bootstrap.yml allow for separate CoreOS etcd nodes 2016-06-03 10:29:12 -04:00
LICENSE Create LICENSE 2016-03-01 15:37:01 +01:00
README.md first version of the roadmap 2016-07-08 09:21:33 +02: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 race condition in download role under vagrant 2016-05-20 17:04:38 -05:00

Kubespray Logo

##Deploy a production ready kubernetes cluster

If you have questions, you can invite yourself to chat with us on Slack! SlackStatus

  • 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

To deploy the cluster you can use :

kargo-cli
Ansible usual commands
vagrant by simply running vagrant up (for tests purposes)

Supported Linux distributions

  • CoreOS
  • Debian Wheezy, Jessie
  • Ubuntu 14.10, 15.04, 15.10, 16.04
  • Fedora 23
  • CentOS/RHEL 7

Versions

kubernetes v1.3.0
etcd v3.0.1
calicoctl v0.20.0
flanneld v0.5.5
weave v1.5.0
docker v1.10.3

Requirements

  • The target servers must have access to the Internet in order to pull docker images.
  • The firewalls are not managed, you'll need to implement your own rules the way you used to. in order to avoid any issue during deployment you should disable your firewall
  • Copy your ssh keys to all the servers part of your inventory.
  • Ansible v2.x and python-netaddr

Network plugins

You can choose between 3 network plugins. (default: flannel with vxlan backend)

  • flannel: gre/vxlan (layer 2) networking.

  • calico: bgp (layer 3) networking.

  • weave: Weave is a lightweight container overlay network that doesn't require an external K/V database cluster.
    (Please refer to weave troubleshooting documentation)

The choice is defined with the variable kube_network_plugin

CI Tests

Build Status

Google Compute Engine

          | Calico        | Flannel       | Weave         |

------------- | ------------- | ------------- | ------------- | Ubuntu Xenial |Build Status|Build Status|Build Status| CentOS 7 |Build Status|Build Status|Build Status| CoreOS (stable) |Build Status|Build Status|Build Status|

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