In order to provide a resilient and reliable Kubernetes Control Plane for our cluster, we are going to make our first big departure from the simple cluster that we built in Chapter 3, Reach for the Cloud.
As we learned in Chapter 1, Google's Infrastructure for the Rest of Us, the key components of the Kubernetes Control Plane are the backing etcd store, the API server, the scheduler, and the controller manager. If we want to build and manage a resilient control plane, we need to manage running these components across multiple instances, ideally spread across several availability zones.
Because the API server is stateless, and the scheduler and controller manager have built-in leader election facilities, it is relatively simple to run multiple instances on AWS, for example, by using an autoscaling group.
Running production-grade etcd is slightly trickier because...