容器场景里涉及到vm级别、网络、链路等等方面给我们排查和调优带来很大挑战,实践过程中有哪些经验分享?

在大部分性能瓶颈的定位过程中,一般都是通过发现问题、探测症状、解决问题三个步骤进行。承载业务的情况下,尤其涉及到vm级别、网络栈、链路和资源隔离方面给我们排查问题和性能调优带来了很多的挑战。那这些遇到的挑战,有啥经验可以分享分享?或者一些案例经验分享!...显示全部

在大部分性能瓶颈的定位过程中,一般都是通过发现问题、探测症状、解决问题三个步骤进行。承载业务的情况下,尤其涉及到vm级别、网络栈、链路和资源隔离方面给我们排查问题和性能调优带来了很多的挑战。那这些遇到的挑战,有啥经验可以分享分享?或者一些案例经验分享!

收起
参与4

返回顾黄亮的回答

顾黄亮顾黄亮课题专家组技术总监畅销书作者

这个问题从理论和解决思路方面来说清楚非常困难,我举一个例子吧。
VM级暂且不提,一般VM出问题从日志就能看出来,网络栈的问题无非就是策略和参数,链路就比较难查了,一定要有排查思路,链路一般有容器云平台链路和业务链路,这个案例讲一个容器云平台的链路。
遇到过一个这样的情况, 容器部署慢,平台反应慢,第一反应是不是镜像仓库出问题了,一般情况下镜像太大或者镜像编译时间过长会导致部署慢,但是镜像问题不是导致平台反应慢,所以问题局限在kubernetes架构层。
因此遇到问题的第一步,你需要对容器云平台的全局架构有充分的了解,各组件之间的功能和交互关系需要清楚,回到正题。平台反应慢可能导致的组件是apiserver和etcd,逐步排查,在这其中,apiserver和etcd的关系是这样的,apiserver在创建pod过程中起到中间桥梁作用,解析外部请求及读写etcd。因此先从apiserver开始,apiserver缓慢会导致整个容器云平台的慢,当然,这只是一种场景。
从apiserver集群的日志和网络流量开始发现问题,一般有两种情况,apiserver的请求分布不均匀,还有一种就是内部流量打满,第二种概率较低,较大的可能性就是apiserver请求分布不均匀,导致集群中有一个节点负载太重,如果是这种情况,那就需要排查负载均衡是否存在异常。如果不是apiserver的问题,那只有一种大概率可能,就是etcd慢了。
以上只是一个案例,抛砖引玉。

银行 · 2020-07-10
浏览862

回答者

顾黄亮
技术总监畅销书作者
擅长领域: 云计算数据库系统运维

顾黄亮 最近回答过的问题

回答状态

  • 发布时间:2020-07-10
  • 关注会员:2 人
  • 回答浏览:862
  • X社区推广