这是一个非常大的命题,我这里也就简单描述一下自己的经验:
1 首先需要明确优化的目标,到底优化要达到一个什么样的目标,满足什么样的需求。如:是要支撑更多 node (如: 500 or 5000 ),或者是优化 pod 的调度速度,增加资源利用率,扩展弹性伸缩等等。
2 首先要对整个集群的各个业务系统的特性(如:计算型,内存型,存储型),以及各自的调用关系,访问量等进行深入了解。
3 有较为全面的监控平台能对: pod , node, 主要组件,网络,存储 ,应用等,全面监控,另外也需要根据自身实际情况定制的监控策略和场景,快速定位集群的性能瓶颈和脆弱点。
4 找到对整个集群性能瓶颈后(如: ECTD, 私有镜像库,网络,业务系统等 ),看看是 Kubernetes 集群本身的问题,还是业务系统自身的问题,来制定合理的优化方案。
5 根据优化方案进行实施,完成后通过监控平台持续监控,评估是否达到优化目标,如没有达到,上述步流程 2-5 循环持续。