Deploy a Production Ready Kubernetes Cluster
 
 
 
 
 
Go to file
Bogdan Dobrelya 091b634ea1 Merge pull request #799 from kubernetes-incubator/docker_dns
Implement "dockerd --dns-xxx" based dns mode
2017-01-09 11:38:02 +01:00
.github GITHUB: Added issue template file 2017-01-03 16:09:35 +01:00
contrib Introduce dns_mode and resolvconf_mode and implement docker_dns mode 2017-01-05 23:38:51 +01:00
docs Introduce dns_mode and resolvconf_mode and implement docker_dns mode 2017-01-05 23:38:51 +01:00
inventory Introduce dns_mode and resolvconf_mode and implement docker_dns mode 2017-01-05 23:38:51 +01:00
roles Merge pull request #799 from kubernetes-incubator/docker_dns 2017-01-09 11:38:02 +01:00
scripts Fix pipeline premoderation/unit-tests 2017-01-04 17:52:27 +01:00
tests Merge pull request #863 from bogdando/coreos_facts 2017-01-05 13:22:35 -05:00
.gitignore Add inventory builder python script 2016-12-23 13:00:56 +03:00
.gitlab-ci.yml Introduce dns_mode and resolvconf_mode and implement docker_dns mode 2017-01-05 23:38:51 +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 README: changed minimal ansible version 2017-01-02 20:37:58 +01: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 Introduce dns_mode and resolvconf_mode and implement docker_dns mode 2017-01-05 23:38:51 +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
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)

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.1 (or newer) 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.