2021年ASI双十一期间,超大规模万级集群如何实现高效性能升级——采用多路线apiserver架构深度解析
最编程
2024-02-16 15:57:45
...
核心方案就是通过对 apiserver 进行分组,通过不同的优先级策略进行对待,从而对服务进行差异化 SLO 保障。通过分流以降低主链路 apiserver 压力,针对 P2 及以下组件接入旁路 apiserver,并可以在紧急情况(如自身稳定性收到影响)下,做整体限流。
图 13:APIServer 多路架构
Etcd优化Tips
etcd 是 K8s 集群中存储元数据,是 K8s 的基石,它的性能往往影响着整个集群的响应时间。当集群规模突破一定规模时,曾出现如下性能瓶颈问题:
- etcd 出现大量的读写延迟,延迟甚至可达分钟级
- kube-apiserver 查询 pods/nodes/configmap/crd 延时很高,导致 etcd oom
- etcd list-all pods 时长可达 30 分钟以上
- 控制器无法及时感知数据变化,如出现 watch 数据延迟可达 30s 以上等
- event 压力大影响 lease 数据,进而引起组件频繁选主。