In this chapter, we looked at reliable and highly available large-scale Kubernetes clusters. This is arguably the sweet spot for Kubernetes. Although it is useful to be able to orchestrate a small cluster running a few containers, it is not necessary, but, at scale, you must have an orchestration solution in place which you can trust to scale with your system and provide the tools and the best practices to do that.
You now have a solid understanding of the concepts of reliability and high-availability in distributed systems. You have delved into the best practices for running reliable and highly available Kubernetes clusters. You have explored the nuances of live Kubernetes cluster upgrades, and you can make wise design choices regarding levels of reliability and availability, as well as their performance and cost.
In the next chapter, we will address the important topic...