大规模下kubernetes集群的scheduler性能
2018-03-09 10:05
417 查看
测试流程
搭建测试环境,可以使用社区推荐的kubemark确定当前kubernetes社区确定的scheduler调度性能,每秒能处理多少个pod的调度
实际测试当前环境的scheduler性能,是否与社区确定的scheduler性能有差异,如果存在差异过大,那么确定是scheduler本身以外导致的性能差异
采用优化方案,通过比对优化前后的性能指标确定是否达到优化效果以及得到影响scheduler性能的因素.
优化思路
增加apiserver的性能:multiple-active api-server,调整api-server的流控QOSEtcd性能提升(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
相关文章推荐
- 京东大规模容器集群之 kubernetes 实践
- cacti性能优化笔记(面向大规模集群的监控管理)
- 京东大规模容器集群之 kubernetes 实践
- kubernetes学习记录(10)——建立Heapster+Influxdb+Grafana集群性能监控平台
- 京东大规模Kubernetes集群的精细化运营 - 架构
- 京东大规模Kubernetes集群的精细化运营 - 架构
- ELK 性能(4) — 大规模 Elasticsearch 集群性能的最佳实践
- 在Google使用Borg进行大规模集群的管理 3-4
- Kubernetes集群安全概述
- 10分钟自动部署Kubernetes1.6.1集群
- kubernetes 集群部署
- 数据库性能、集群,新品
- Kubernetes(K8S)集群管理Docker容器(部署篇) 推荐
- Hadoop2.7.1+Hbase1.2.1集群环境搭建(7)hbase 性能优化
- CentOS7.0上部署kubernetes集群 + 简单应用示例
- 使用kubeadm安装kubernetes集群
- kubernetes集群环境准备工作
- 大规模集群之告警系统实践
- 11月30日云栖精选夜读:阿里云容器服务新增支持Kubernetes编排系统,性能重大提升
- 腾讯大规模Hadoop集群实践 [转程序员杂志]