committed by
Smana
3 changed files with 171 additions and 85 deletions
Split View
Diff Options
-
1README.md
-
86README.md
-
84docs/documentation.md
-
85docs/roadmap.md
@ -1 +0,0 @@ |
|||
docs/documentation.md |
@ -0,0 +1,86 @@ |
|||
 |
|||
|
|||
##Deploy a production ready kubernetes cluster |
|||
|
|||
If you have questions, you can [invite yourself](https://slack.kubespray.io/) to **chat** with us on Slack! [](https://kubespray.slack.com) |
|||
|
|||
- 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**](https://github.com/kubespray/kargo-cli) <br> |
|||
**Ansible** usual commands <br> |
|||
**vagrant** by simply running `vagrant up` (for tests purposes) <br> |
|||
|
|||
|
|||
* [Requirements](#requirements) |
|||
* [Getting started](docs/getting-started.md) |
|||
* [Vagrant install](docs/vagrant.md) |
|||
* [CoreOS bootstrap](docs/coreos.md) |
|||
* [Ansible variables](docs/ansible.md) |
|||
* [Cloud providers](docs/cloud.md) |
|||
* [Openstack](docs/openstack.md) |
|||
* [Network plugins](#network-plugins) |
|||
* [Roadmap](docs/roadmap.md) |
|||
|
|||
Supported Linux distributions |
|||
=============== |
|||
|
|||
* **CoreOS** |
|||
* **Debian** Wheezy, Jessie |
|||
* **Ubuntu** 14.10, 15.04, 15.10, 16.04 |
|||
* **Fedora** 23 |
|||
* **CentOS/RHEL** 7 |
|||
|
|||
Versions |
|||
-------------- |
|||
|
|||
[kubernetes](https://github.com/kubernetes/kubernetes/releases) v1.3.0 <br> |
|||
[etcd](https://github.com/coreos/etcd/releases) v3.0.1 <br> |
|||
[calicoctl](https://github.com/projectcalico/calico-docker/releases) v0.20.0 <br> |
|||
[flanneld](https://github.com/coreos/flannel/releases) v0.5.5 <br> |
|||
[weave](http://weave.works/) v1.5.0 <br> |
|||
[docker](https://www.docker.com/) v1.10.3 <br> |
|||
|
|||
|
|||
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**](docs/flannel.md): gre/vxlan (layer 2) networking. |
|||
|
|||
* [**calico**](docs/calico.md): bgp (layer 3) networking. |
|||
|
|||
* **weave**: Weave is a lightweight container overlay network that doesn't require an external K/V database cluster. <br> |
|||
(Please refer to `weave` [troubleshooting documentation](http://docs.weave.works/weave/latest_release/troubleshooting.html)) |
|||
|
|||
The choice is defined with the variable `kube_network_plugin` |
|||
|
|||
|
|||
## CI Tests |
|||
|
|||
[](https://travis-ci.org/kubespray/kargo) </br> |
|||
|
|||
### Google Compute Engine |
|||
|
|||
| Calico | Flannel | Weave | |
|||
------------- | ------------- | ------------- | ------------- | |
|||
Ubuntu Xenial |[](https://ci.kubespray.io/job/kargo-gce-xenial-calico/)|[](https://ci.kubespray.io/job/kargo-gce-xenial-flannel/)|[](https://ci.kubespray.io/job/kargo-gce-xenial-weave)| |
|||
CentOS 7 |[](https://ci.kubespray.io/job/kargo-gce-centos7-calico/)|[](https://ci.kubespray.io/job/kargo-gce-centos7-flannel/)|[](https://ci.kubespray.io/job/kargo-gce-centos7-weave/)| |
|||
CoreOS (stable) |[](https://ci.kubespray.io/job/kargo-gce-coreos-calico/)|[](https://ci.kubespray.io/job/kargo-gce-coreos-flannel/)|[](https://ci.kubespray.io/job/kargo-gce-coreos-weave/)| |
|||
|
|||
CI tests sponsored by Google (GCE), and [teuto.net](https://teuto.net/) for OpenStack. |
@ -1,84 +0,0 @@ |
|||
 |
|||
|
|||
##Deploy a production ready kubernetes cluster |
|||
|
|||
If you have questions, you can [invite yourself](https://slack.kubespray.io/) to **chat** with us on Slack! [](https://kubespray.slack.com) |
|||
|
|||
- 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**](https://github.com/kubespray/kargo-cli) <br> |
|||
**Ansible** usual commands <br> |
|||
**vagrant** by simply running `vagrant up` (for tests purposes) <br> |
|||
|
|||
|
|||
* [Requirements](#requirements) |
|||
* [Getting started](docs/getting-started.md) |
|||
* [Vagrant install](docs/vagrant.md) |
|||
* [CoreOS bootstrap](docs/coreos.md) |
|||
* [Ansible variables](docs/ansible.md) |
|||
* [Cloud providers](docs/cloud.md) |
|||
* [Openstack](docs/openstack.md) |
|||
* [Network plugins](#network-plugins) |
|||
|
|||
Supported Linux distributions |
|||
=============== |
|||
|
|||
* **CoreOS** |
|||
* **Debian** Wheezy, Jessie |
|||
* **Ubuntu** 14.10, 15.04, 15.10, 16.04 |
|||
* **Fedora** 23 |
|||
* **CentOS/RHEL** 7 |
|||
|
|||
Versions |
|||
-------------- |
|||
|
|||
[kubernetes](https://github.com/kubernetes/kubernetes/releases) v1.3.0 <br> |
|||
[etcd](https://github.com/coreos/etcd/releases) v3.0.1 <br> |
|||
[calicoctl](https://github.com/projectcalico/calico-docker/releases) v0.20.0 <br> |
|||
[flanneld](https://github.com/coreos/flannel/releases) v0.5.5 <br> |
|||
[weave](http://weave.works/) v1.5.0 <br> |
|||
[docker](https://www.docker.com/) v1.10.3 <br> |
|||
|
|||
|
|||
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**](docs/flannel.md): gre/vxlan (layer 2) networking. |
|||
|
|||
* [**calico**](docs/calico.md): bgp (layer 3) networking. |
|||
|
|||
* **weave**: Weave is a lightweight container overlay network that doesn't require an external K/V database cluster. <br> |
|||
(Please refer to `weave` [troubleshooting documentation](http://docs.weave.works/weave/latest_release/troubleshooting.html)) |
|||
|
|||
The choice is defined with the variable `kube_network_plugin` |
|||
|
|||
## CI Tests |
|||
|
|||
[](https://travis-ci.org/kubespray/kargo) </br> |
|||
|
|||
### Google Compute Engine |
|||
|
|||
| Calico | Flannel | Weave | |
|||
------------- | ------------- | ------------- | ------------- | |
|||
Ubuntu Xenial |[](https://ci.kubespray.io/job/kargo-gce-xenial-calico/)|[](https://ci.kubespray.io/job/kargo-gce-xenial-flannel/)|[](https://ci.kubespray.io/job/kargo-gce-xenial-weave)| |
|||
CentOS 7 |[](https://ci.kubespray.io/job/kargo-gce-centos7-calico/)|[](https://ci.kubespray.io/job/kargo-gce-centos7-flannel/)|[](https://ci.kubespray.io/job/kargo-gce-centos7-weave/)| |
|||
CoreOS (stable) |[](https://ci.kubespray.io/job/kargo-gce-coreos-calico/)|[](https://ci.kubespray.io/job/kargo-gce-coreos-flannel/)|[](https://ci.kubespray.io/job/kargo-gce-coreos-weave/)| |
|||
|
|||
CI tests sponsored by Google (GCE), and [teuto.net](https://teuto.net/) for OpenStack. |
@ -0,0 +1,85 @@ |
|||
Kargo's roadmap |
|||
================= |
|||
|
|||
### Self deployment (pull-mode) [#320](https://github.com/kubespray/kargo/issues/320) |
|||
- the playbook would install and configure docker and the etcd cluster [#321](https://github.com/kubespray/kargo/issues/321) |
|||
- the following data would be inserted into etcd: certs,tokens,users,inventory,group_vars. |
|||
- a "kubespray" container would be deployed (kargo-cli, ansible-playbook, kpm) |
|||
- to be discussed, a way to provide the inventory |
|||
- **self deployment** of the node |
|||
|
|||
### Provisionning and cloud providers |
|||
- Terraform to provision instances on **GCE, AWS, Openstack, Digital Ocean, Azure** |
|||
- On AWS autoscaling, multi AZ |
|||
- On Azure autoscaling, create loadbalancer [#297](https://github.com/kubespray/kargo/issues/297) |
|||
- On GCE be able to create a loadbalancer automatically (IAM ?) [#280](https://github.com/kubespray/kargo/issues/280) |
|||
- **TLS boostrap** support for kubelet [#234](https://github.com/kubespray/kargo/issues/234) |
|||
(related issues: https://github.com/kubernetes/kubernetes/pull/20439 <br> |
|||
https://github.com/kubernetes/kubernetes/issues/18112) |
|||
|
|||
### Tests |
|||
- Run kubernetes e2e tests |
|||
- migrate to jenkins |
|||
(a test is currently a deployment on a 3 node cluste, testing k8s api, ping between 2 pods) |
|||
- Full tests on GCE per day (All OS's, all network plugins) |
|||
- trigger a single test per pull request |
|||
- single test with the Ansible version n-1 per day |
|||
- Test idempotency on on single OS but for all network plugins/container engines |
|||
- single test on AWS per day |
|||
- test different achitectures : |
|||
- 3 instances, 3 are members of the etcd cluster, 2 of them acting as master and node, 1 as node |
|||
- 5 instances, 3 are etcd and nodes, 2 are masters only |
|||
- 7 instances, 3 etcd only, 2 masters, 2 nodes |
|||
- test scale up cluster: +1 etcd, +1 master, +1 node |
|||
|
|||
### Lifecycle |
|||
- Drain worker node when upgrading k8s components in a worker node. [#154](https://github.com/kubespray/kargo/issues/154) |
|||
- Drain worker node when shutting down/deleting an instance |
|||
|
|||
### Networking |
|||
- romana.io support [#160](https://github.com/kubespray/kargo/issues/160) |
|||
- Configure network policy for Calico. [#159](https://github.com/kubespray/kargo/issues/159) |
|||
- Opencontrail |
|||
- Canal |
|||
|
|||
### High availability |
|||
- (to be discussed) option to set a loadbalancer for the apiservers like ucarp/packemaker/keepalived |
|||
While waiting for the issue [kubernetes/kubernetes#18174](https://github.com/kubernetes/kubernetes/issues/18174) to be fixed. |
|||
|
|||
### Kargo-cli |
|||
- Delete instances |
|||
- `kargo vagrant` to setup a test cluster locally |
|||
- switch to Terraform instead of Ansible for provisionning |
|||
|
|||
### Kargo API |
|||
- Perform all actions through an **API** |
|||
- Store inventories / configurations of mulltiple clusters |
|||
- make sure that state of cluster is completely saved in no more than one config file beyond hosts inventory |
|||
|
|||
### Addons (with kpm) |
|||
Include optionals deployments to init the cluster: |
|||
##### Monitoring |
|||
- Heapster / Grafana .... |
|||
- **Prometheus** |
|||
|
|||
##### Others |
|||
|
|||
##### Dashboards: |
|||
- kubernetes-dashboard |
|||
- Fabric8 |
|||
- Tectonic |
|||
- Cockpit |
|||
|
|||
##### Paas like |
|||
- Openshift Origin |
|||
- Openstack |
|||
- Deis Workflow |
|||
|
|||
### Others |
|||
- remove nodes (adding is already supported) |
|||
- being able to choose any k8s version (almost done) |
|||
- **rkt** support [#59](https://github.com/kubespray/kargo/issues/59) |
|||
- Review documentation (split in categories) |
|||
- **consul** -> if officialy supported by k8s |
|||
- flex volumes options (e.g. **torrus** support) [#312](https://github.com/kubespray/kargo/issues/312) |
|||
- Clusters federation option (aka **ubernetes**) [#329](https://github.com/kubespray/kargo/issues/329) |
Write
Preview
Loading…
Cancel
Save