在 K8s 日志采集场景下,如果 K8S API Server 因收到大量 ListWatch 请求,导致 CPU、内存等负载较高、业务请求时延高等问题,可能原因如下:
- K8S 存在网络问题等异常场景。LogCollector 通过 K8s ListWatch 机制来监听容器的事件。LogCollector 启动时会执行一次 ListWatch,如果遇到网络等异常,LogCollector 会重新执行 ListWatch。如果异常频发,可能导致 LogCollector 频繁触发 ListWatch 流程。建议排查 K8S 是否存在网络问题等异常场景。
- 集群规模较大,且集群中部署了大量的 LogCollector(例如数量大于 1000),建议在 ApiServer 侧针对 ListWatch 进行限流,避免大量 ListWatch 请求造成 ApiServer 负载过大。