Deploy a Production Ready Kubernetes Cluster
 
 
 
 
 
Go to file
Thomas Catterall 53affb9bc0 Update README.md 2016-12-22 22:46:23 +00:00
contrib Merge branch 'master' into standalone_kubelet 2016-12-13 17:26:21 +01:00
docs Merge pull request #812 from mattymo/vars_doc 2016-12-22 18:01:23 +01:00
inventory Merge pull request #704 from vwfs/bastion_hosts 2016-12-17 12:08:49 +01:00
roles Update etcd.j2 2016-12-22 22:29:24 +03:00
scripts Add gitlab CI auto builds for triggers 2016-12-20 11:23:13 +01:00
tests Raise ansible forks for CI test config 2016-12-22 15:12:47 +01:00
.gitignore Add support for bastion hosts 2016-12-13 17:29:47 +01:00
.gitlab-ci.yml Add coreos-alpha weave manual CI builds 2016-12-22 11:00:31 +01:00
.gitmodules Remove submodules 2016-03-04 16:14:01 +01:00
.travis.yml.bak Manual steps for Gitlab CI pipeline 2016-12-15 17:23:18 +01:00
CONTRIBUTING.md files needed to move kargo to k8s 2016-08-16 14:01:03 +02:00
LICENSE Create LICENSE 2016-03-01 15:37:01 +01:00
OWNERS Update OWNERS 2016-10-28 11:16:11 +04:00
README.md Update README.md 2016-12-22 22:46:23 +00:00
RELEASE.md files needed to move kargo to k8s 2016-08-16 14:01:03 +02:00
Vagrantfile Fix #781 prevent vagrant asking for password 2016-12-19 11:52:18 -08:00
ansible.cfg Remove 'bastion' as default conf 2016-12-17 12:42:30 +01:00
cluster.yml Merge pull request #704 from vwfs/bastion_hosts 2016-12-17 12:08:49 +01:00
code-of-conduct.md files needed to move kargo to k8s 2016-08-16 14:01:03 +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
reset.yml Add playbook and role to reset the cluster 2016-12-09 11:15:36 +01:00
ubuntu-bootstrap.yml Added bootstrap script for Ubuntu 16.04 LTS and later 2016-09-07 20:13:05 +02:00
uploads.yml Upload files to a separate storage 2016-03-04 17:39:02 +01:00

README.md

Kubespray Logo

##Deploy a production ready kubernetes cluster

If you have questions, join us on the kubernetes slack, channel #kargo.

  • Can be deployed on AWS, GCE, Azure, 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)

Kargo vs Kops

Kargo runs on bare metal and most clouds, using Ansible as its substrate for provisioning and orchestration. Kops performs the provisioning and orchestration itself, and as such is less flexible in deployment platforms. For people with familiarity with Ansible, existing Ansible deployments or the desire to run a Kubernetes cluster across multiple platforms, Kargo is a good choice. Kops, however, iss more tightly integrated with the unique features of the clouds it supports so it could be a better choice if you know that you will only be using one platform for the foreseeable future.

Supported Linux distributions

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

Versions

kubernetes v1.4.6
etcd v3.0.6
flanneld v0.6.2
calicoctl v0.22.0
weave v1.6.1
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.