Update roadmap (#1795)
parent
d487b2f927
commit
d9879d8026
|
@ -2,8 +2,9 @@ Kubespray's roadmap
|
||||||
=================
|
=================
|
||||||
|
|
||||||
### Kubeadm
|
### Kubeadm
|
||||||
- Propose kubeadm as an option in order to setup the kubernetes cluster.
|
- Switch to kubeadm deployment as the default method after some bugs are fixed:
|
||||||
That would probably improve deployment speed and certs management [#553](https://github.com/kubespray/kubespray/issues/553)
|
* Support for basic auth
|
||||||
|
* cloudprovider cloud-config mount [#484](https://github.com/kubernetes/kubeadm/issues/484)
|
||||||
|
|
||||||
### Self deployment (pull-mode) [#320](https://github.com/kubespray/kubespray/issues/320)
|
### Self deployment (pull-mode) [#320](https://github.com/kubespray/kubespray/issues/320)
|
||||||
- the playbook would install and configure docker/rkt and the etcd cluster
|
- the playbook would install and configure docker/rkt and the etcd cluster
|
||||||
|
@ -12,60 +13,35 @@ That would probably improve deployment speed and certs management [#553](https:/
|
||||||
- to be discussed, a way to provide the inventory
|
- to be discussed, a way to provide the inventory
|
||||||
- **self deployment** of the node from inside a container [#321](https://github.com/kubespray/kubespray/issues/321)
|
- **self deployment** of the node from inside a container [#321](https://github.com/kubespray/kubespray/issues/321)
|
||||||
|
|
||||||
### Provisionning and cloud providers
|
### Provisioning and cloud providers
|
||||||
- [ ] Terraform to provision instances on **GCE, AWS, Openstack, Digital Ocean, Azure**
|
- [ ] Terraform to provision instances on **GCE, AWS, Openstack, Digital Ocean, Azure**
|
||||||
- [ ] On AWS autoscaling, multi AZ
|
- [ ] On AWS autoscaling, multi AZ
|
||||||
- [ ] On Azure autoscaling, create loadbalancer [#297](https://github.com/kubespray/kubespray/issues/297)
|
- [ ] On Azure autoscaling, create loadbalancer [#297](https://github.com/kubespray/kubespray/issues/297)
|
||||||
- [ ] On GCE be able to create a loadbalancer automatically (IAM ?) [#280](https://github.com/kubespray/kubespray/issues/280)
|
- [ ] On GCE be able to create a loadbalancer automatically (IAM ?) [#280](https://github.com/kubespray/kubespray/issues/280)
|
||||||
- [x] **TLS boostrap** support for kubelet [#234](https://github.com/kubespray/kubespray/issues/234)
|
- [x] **TLS boostrap** support for kubelet (covered by kubeadm, but not in standard deployment) [#234](https://github.com/kubespray/kubespray/issues/234)
|
||||||
(related issues: https://github.com/kubernetes/kubernetes/pull/20439 <br>
|
(related issues: https://github.com/kubernetes/kubernetes/pull/20439 <br>
|
||||||
https://github.com/kubernetes/kubernetes/issues/18112)
|
https://github.com/kubernetes/kubernetes/issues/18112)
|
||||||
|
|
||||||
### Tests
|
### Tests
|
||||||
- [x] Run kubernetes e2e tests
|
- [ ] Run kubernetes e2e tests
|
||||||
- [x] migrate to jenkins
|
- [ ] Test idempotency on on single OS but for all network plugins/container engines
|
||||||
(a test is currently a deployment on a 3 node cluste, testing k8s api, ping between 2 pods)
|
|
||||||
- [x] Full tests on GCE per day (All OS's, all network plugins)
|
|
||||||
- [x] trigger a single test per pull request
|
|
||||||
- [ ] ~~single test with the Ansible version n-1 per day~~
|
|
||||||
- [x] Test idempotency on on single OS but for all network plugins/container engines
|
|
||||||
- [ ] single test on AWS per day
|
- [ ] single test on AWS per day
|
||||||
- [x] 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
|
- [ ] test scale up cluster: +1 etcd, +1 master, +1 node
|
||||||
|
- [ ] Reorganize CI test vars into group var files
|
||||||
|
|
||||||
### Lifecycle
|
### Lifecycle
|
||||||
- [ ] Adopt the kubeadm tool by delegating CM tasks it is capable to accomplish well [#553](https://github.com/kubespray/kubespray/issues/553)
|
|
||||||
- [x] Drain worker node when upgrading k8s components in a worker node. [#154](https://github.com/kubespray/kubespray/issues/154)
|
|
||||||
- [ ] Drain worker node when shutting down/deleting an instance
|
|
||||||
- [ ] Upgrade granularity: select components to upgrade and skip others
|
- [ ] Upgrade granularity: select components to upgrade and skip others
|
||||||
|
|
||||||
### Networking
|
### Networking
|
||||||
- [ ] romana.io support [#160](https://github.com/kubespray/kubespray/issues/160)
|
|
||||||
- [ ] Configure network policy for Calico. [#159](https://github.com/kubespray/kubespray/issues/159)
|
|
||||||
- [ ] Opencontrail
|
- [ ] Opencontrail
|
||||||
- [x] Canal
|
- [ ] Consolidate network_plugins and kubernetes-apps/network_plugins
|
||||||
- [x] Cloud Provider native networking (instead of our network plugins)
|
|
||||||
|
|
||||||
### 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.
|
|
||||||
|
|
||||||
### Kubespray-cli
|
|
||||||
- Delete instances
|
|
||||||
- `kubespray vagrant` to setup a test cluster locally
|
|
||||||
- `kubespray azure` for Microsoft Azure support
|
|
||||||
- switch to Terraform instead of Ansible for provisionning
|
|
||||||
- update $HOME/.kube/config when a cluster is deployed. Optionally switch to this context
|
|
||||||
|
|
||||||
### Kubespray API
|
### Kubespray API
|
||||||
- Perform all actions through an **API**
|
- Perform all actions through an **API**
|
||||||
- Store inventories / configurations of mulltiple clusters
|
- 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
|
- make sure that state of cluster is completely saved in no more than one config file beyond hosts inventory
|
||||||
|
|
||||||
### Addons (with kpm)
|
### Addons (helm or native ansible)
|
||||||
Include optionals deployments to init the cluster:
|
Include optionals deployments to init the cluster:
|
||||||
##### Monitoring
|
##### Monitoring
|
||||||
- Heapster / Grafana ....
|
- Heapster / Grafana ....
|
||||||
|
@ -86,9 +62,9 @@ Include optionals deployments to init the cluster:
|
||||||
|
|
||||||
### Others
|
### Others
|
||||||
- remove nodes (adding is already supported)
|
- remove nodes (adding is already supported)
|
||||||
- being able to choose any k8s version (almost done)
|
- Organize and update documentation (split in categories)
|
||||||
- **rkt** support [#59](https://github.com/kubespray/kubespray/issues/59)
|
- Refactor downloads so it all runs in the beginning of deployment
|
||||||
- Review documentation (split in categories)
|
- Make bootstrapping OS more consistent
|
||||||
- **consul** -> if officialy supported by k8s
|
- **consul** -> if officialy supported by k8s
|
||||||
- flex volumes options (e.g. **torrus** support) [#312](https://github.com/kubespray/kubespray/issues/312)
|
- flex volumes options (e.g. **torrus** support) [#312](https://github.com/kubespray/kubespray/issues/312)
|
||||||
- Clusters federation option (aka **ubernetes**) [#329](https://github.com/kubespray/kubespray/issues/329)
|
- Clusters federation option (aka **ubernetes**) [#329](https://github.com/kubespray/kubespray/issues/329)
|
||||||
|
|
|
@ -104,7 +104,7 @@ fi
|
||||||
# Nodes
|
# Nodes
|
||||||
if [ -n "$HOSTS" ]; then
|
if [ -n "$HOSTS" ]; then
|
||||||
for host in $HOSTS; do
|
for host in $HOSTS; do
|
||||||
cn="${host%%.*}"
|
cn="${host}"
|
||||||
gen_key_and_cert "node-${host}" "/CN=system:node:${cn}/O=system:nodes"
|
gen_key_and_cert "node-${host}" "/CN=system:node:${cn}/O=system:nodes"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue