You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
4.3 KiB

7 years ago
  1. Kargo's roadmap
  2. =================
  3. ### Kubeadm
  4. - Propose kubeadm as an option in order to setup the kubernetes cluster.
  5. That would probably improve deployment speed and certs management [#553](https://github.com/kubespray/kargo/issues/553)
  6. ### Self deployment (pull-mode) [#320](https://github.com/kubespray/kargo/issues/320)
  7. - the playbook would install and configure docker/rkt and the etcd cluster
  8. - the following data would be inserted into etcd: certs,tokens,users,inventory,group_vars.
  9. - a "kubespray" container would be deployed (kargo-cli, ansible-playbook, kpm)
  10. - to be discussed, a way to provide the inventory
  11. - **self deployment** of the node from inside a container [#321](https://github.com/kubespray/kargo/issues/321)
  12. ### Provisionning and cloud providers
  13. - [ ] Terraform to provision instances on **GCE, AWS, Openstack, Digital Ocean, Azure**
  14. - [ ] On AWS autoscaling, multi AZ
  15. - [ ] On Azure autoscaling, create loadbalancer [#297](https://github.com/kubespray/kargo/issues/297)
  16. - [ ] On GCE be able to create a loadbalancer automatically (IAM ?) [#280](https://github.com/kubespray/kargo/issues/280)
  17. - [x] **TLS boostrap** support for kubelet [#234](https://github.com/kubespray/kargo/issues/234)
  18. (related issues: https://github.com/kubernetes/kubernetes/pull/20439 <br>
  19. https://github.com/kubernetes/kubernetes/issues/18112)
  20. ### Tests
  21. - [x] Run kubernetes e2e tests
  22. - [x] migrate to jenkins
  23. (a test is currently a deployment on a 3 node cluste, testing k8s api, ping between 2 pods)
  24. - [x] Full tests on GCE per day (All OS's, all network plugins)
  25. - [x] trigger a single test per pull request
  26. - [ ] ~~single test with the Ansible version n-1 per day~~
  27. - [x] Test idempotency on on single OS but for all network plugins/container engines
  28. - [ ] single test on AWS per day
  29. - [x] test different achitectures :
  30. - 3 instances, 3 are members of the etcd cluster, 2 of them acting as master and node, 1 as node
  31. - 5 instances, 3 are etcd and nodes, 2 are masters only
  32. - 7 instances, 3 etcd only, 2 masters, 2 nodes
  33. - [ ] test scale up cluster: +1 etcd, +1 master, +1 node
  34. ### Lifecycle
  35. - [ ] Adopt the kubeadm tool by delegating CM tasks it is capable to accomplish well [#553](https://github.com/kubespray/kargo/issues/553)
  36. - [x] Drain worker node when upgrading k8s components in a worker node. [#154](https://github.com/kubespray/kargo/issues/154)
  37. - [ ] Drain worker node when shutting down/deleting an instance
  38. - [ ] Upgrade granularity: select components to upgrade and skip others
  39. ### Networking
  40. - [ ] romana.io support [#160](https://github.com/kubespray/kargo/issues/160)
  41. - [ ] Configure network policy for Calico. [#159](https://github.com/kubespray/kargo/issues/159)
  42. - [ ] Opencontrail
  43. - [x] Canal
  44. - [x] Cloud Provider native networking (instead of our network plugins)
  45. ### High availability
  46. - (to be discussed) option to set a loadbalancer for the apiservers like ucarp/packemaker/keepalived
  47. While waiting for the issue [kubernetes/kubernetes#18174](https://github.com/kubernetes/kubernetes/issues/18174) to be fixed.
  48. ### Kargo-cli
  49. - Delete instances
  50. - `kargo vagrant` to setup a test cluster locally
  51. - `kargo azure` for Microsoft Azure support
  52. - switch to Terraform instead of Ansible for provisionning
  53. - update $HOME/.kube/config when a cluster is deployed. Optionally switch to this context
  54. ### Kargo API
  55. - Perform all actions through an **API**
  56. - Store inventories / configurations of mulltiple clusters
  57. - make sure that state of cluster is completely saved in no more than one config file beyond hosts inventory
  58. ### Addons (with kpm)
  59. Include optionals deployments to init the cluster:
  60. ##### Monitoring
  61. - Heapster / Grafana ....
  62. - **Prometheus**
  63. ##### Others
  64. ##### Dashboards:
  65. - kubernetes-dashboard
  66. - Fabric8
  67. - Tectonic
  68. - Cockpit
  69. ##### Paas like
  70. - Openshift Origin
  71. - Openstack
  72. - Deis Workflow
  73. ### Others
  74. - remove nodes (adding is already supported)
  75. - being able to choose any k8s version (almost done)
  76. - **rkt** support [#59](https://github.com/kubespray/kargo/issues/59)
  77. - Review documentation (split in categories)
  78. - **consul** -> if officialy supported by k8s
  79. - flex volumes options (e.g. **torrus** support) [#312](https://github.com/kubespray/kargo/issues/312)
  80. - Clusters federation option (aka **ubernetes**) [#329](https://github.com/kubespray/kargo/issues/329)