This document is meant to provide high-level but actionable objectives for future kube-aws deveploment. Please file an issue to make suggestions on this roadmap!
- Provide article walking users through:
- Setting up a cluster from scratch
- Using/enabling new features
- (Breaking changes)
- Drop deprecated configuration syntax and flags, options
- Revise this roadmap
- Node Pools
- Worker nodes optionally powered by Spot Fleet
- Clean cluster upgrades (preventing downtime, make sure they succeed)
- Kubernetes 1.5.1
- Auto-scaled kube-dns
- Self-hosted Calico
- Very limited, almost theoretical support for automatic reconfiguration of cluster-autoscaler
- Kubernetes 1.5.3
- Work-around the 16KB userdata limit in size
- Experimental support for
- Private subnets and NAT gateways for etcd, controller and worker nodes
- Deployments to existing subnets
- Rethink how node pools are implemented
- See #238
- Kubernetes 1.5.4
- etcd: Automatic recovery from temporary etcd node failures
- etcd: Experimental support for an internal domain and custom hostnames for etcd nodes
- Kubernetes 1.6
- etcd: etcd v3 support #381
- It is enabled by default in 1.6: kubernetes/kubernetes#22448 (comment)
- etcd: Manual/Automatic recovery from permanent etcd node failures #417
- Cluster Auto Scaling
- Support for auto-scaling worker nodes via:
- Dynamic reconfiguration of cluster-autoscaler
- Automatic discovery of target node pools for cluster-autoscaler
- Requires much work on CA side
- Support for auto-scaling worker nodes via:
- Kubernetes 1.7
- More and more RBAC support (@camilb, @c-knowles)
- Experimental support for kube-aws plugins
- Tiller installed by default
- For use from the plugin support
- Scalability improvements
- More efficient node draining(@danielfm)
- Cluster-provisioning observability improvements
- Streaming stack events & journald logs (@jollinshead)
- Kubernetes 1.8
- RBAC enabled by default
- Security improvements
- NodeRestriction admission controller + Node authorizer + Kubelet’s credential rotation (@danielfm)
- [Optional] Several kube-aws core features as plugins
- Kubernetes 1.9.x
- Security+Usability improvements
- kiam integration (#1055)
- authenticator integration (#1153)
- Support for pregenerating IAM roles used by kube2iam/kiam (#1145, #1150)
- Operatability improvements
- More manageable Calico + Flannel (@redbaron) (#909)
- Graduate from relying on CloudFormation nested stacks (#1112)
- Ease certificate rotation (#1146)
- Kubernetes 1.10
- (After easy H/A controller support) kubeadm support to simplify k8s components configuration (#654)
- Reduces the amount of code required in kube-aws
- To better follow upstream improvements on how k8s components are deployed
- (After scalability/reliability/upgradability cleared) istio integration
- Probably after k8s supported injecting init containers from PodPreset
- Migrate from coreos-cloudinit to ignition for node bootstrapping (@redbaron)
- Bootkube switch
kube-aws
can largely go into maintenance mode when k8s upgrades can be safely achieved on self-hosted clusters.
- YAML CloudFormation templates?