Kubernetes集群中,Schedule 和 Controller-manager 组件是选主的,即只有其中的master在处理任务,而ApiServer是无状态的,可以任意横向扩展。ApiServer的性能,即接口延迟几乎完全取决于Etcd集群,以下是一个10节点,200-2000Pod数量的Pod测试结果,仅供参考,测试工具:
https://github.com/kubernetes/perf-tests/tree/release-1.19/clusterloader2
当随着节点数增加,Schedule和Controller到达性能瓶颈后,可以将该组件独立出来,使用更高性能的机器运行!
Kubernetes 不同规格集群控制平面的配置参考标准(来源: kubernetes官方文档,google虚拟机配置表, AWS虚拟机配置):