您的位置:首页 > 其它

大规模下kubernetes集群的scheduler性能

2018-03-09 10:05 417 查看

测试流程

搭建测试环境,可以使用社区推荐的kubemark

确定当前kubernetes社区确定的scheduler调度性能,每秒能处理多少个pod的调度

实际测试当前环境的scheduler性能,是否与社区确定的scheduler性能有差异,如果存在差异过大,那么确定是scheduler本身以外导致的性能差异

采用优化方案,通过比对优化前后的性能指标确定是否达到优化效果以及得到影响scheduler性能的因素.

优化思路

增加apiserver的性能:multiple-active api-server,调整api-server的流控QOS

Etcd性能提升(event 事件分库+etcd采用本地ssd盘作为backend存储+etcd独立部署非k8s node上+etcd 采用v3版本)

单个scheduler的性能提升(代码优化以及参数调整)

Multiple-scheduler,按照pod指定schedulerName,让多个scheduler同时处理

优化过程借鉴的思路

监控系统,观察系统是否存在资源(cpu/memory/io)不够使用的情况

熟练的使用metrics和cpu profiling进行性能优化

图形化的展示流程,能够直观的展示出性能的动态变化

基准测试的使用可以展示性能并揭示任何潜在问题

参考

https://coreos.com/blog/improving-kubernetes-scheduler-performance.html

https://docs.google.com/presentation/d/1HYGDFTWyKjJveAk_t10L6uxoZOWTiRVLLCZj5Zxw5ok/edit?usp=sharing

https://github.com/kubernetes/kubernetes/blob/2b2f2857771c748f0f0e261f3b8e2ad1627325ce/docs/proposals/kubemark.md 

https://github.com/coreos/kscale/blob/dfe65f050cff5bebf83074e3b3e6b3c2d69a9222/logplot/main.go

https://docs.google.com/presentation/d/1HYGDFTWyKjJveAk_t10L6uxoZOWTiRVLLCZj5Zxw5ok/edit#slide=id.gd6d8abb5d_0_1366

https://github.com/kubernetes/kubernetes/pull/18458/files  scheduler performance testing

https://github.com/jonboulle/presentations/blob/master/2016_08_Promcon_Metrics_Matter_10x_Improvement_for_Kubernetes_Performance.pdf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: