Deploy a Production Ready Kubernetes Cluster
 
 
 
 
 
Go to file
Bogdan Dobrelya a70c3b661e Add HA/LB endpoints for kube-apiserver
* Add auto-evaluated internal endpoints and clarify the loadbalancer_apiserver
vars and usecases.
* Add loadbalancer_apiserver_localhost (default false). If enabled, override
the external LB and expect localhost:443/8080 to be new internal only frontends.
* Add kube_apiserver_multiaccess to ignore loadbalancers, and make clients
to access the apiservers as a comma-separated list of access_ip/ip/ansible ip
(a default mode). When disabled, allow clients to use the given loadbalancers.
* Define connections security mode for kube controllers, schedulers, proxies.
It is insecure be default, which is the current deployment choice.
* Rework the groups['kube-master'][0] hardcode defining the apiserver
endpoints.
* Improve grouping of vars and add facts for kube_apiserver.
* Define kube_apiserver_insecure_bind_address as a fact, add more
facts for ease of use.

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-21 11:05:03 +02:00
contrib/terraform Merge pull request #294 from billyoung/master 2016-06-18 11:03:24 +02:00
docs Add etcd proxy support 2016-07-19 14:09:40 +02:00
inventory Add HA/LB endpoints for kube-apiserver 2016-07-21 11:05:03 +02:00
library Add variables to kpm module 2016-06-12 18:02:44 +02:00
roles Add HA/LB endpoints for kube-apiserver 2016-07-21 11:05:03 +02:00
scripts upgrade to k8s v1.3.0 2016-07-03 14:14:09 +02:00
tests test the apiserver from the masters instead of the deployment machine 2016-07-03 16:18:04 +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
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
Vagrantfile race condition in download role under vagrant 2016-05-20 17:04:38 -05:00
ansible.cfg Add complete test integration 2016-02-10 22:58:57 +01:00
cluster.yml Add kubedns as default package to install 2016-06-12 18:08:53 +02:00
coreos-bootstrap.yml allow for separate CoreOS etcd nodes 2016-06-03 10:29:12 -04: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

README.md

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.