← 返回列表

规模不是一个数字:Kubernetes 控制平面不堪重负的三种方式

The New Stack原文发布 2026-10-18 22:00首次收录 2026-10-19上架 2026-10-19 07:13

☆ 收藏查看原文 ↗

这件事讲了什么

这篇文章讲的是 Kubernetes 控制平面的容量问题,但重点不是“集群有多大”。作者举了三个完全不同的集群:一是上万节点的训练集群,大量节点不停上报心跳,把 apiserver 和 etcd 的内存吃光;二是节点数不多但对象频繁创建、销毁的 Agent 平台,写入压力巨大;三是装了两百个 operator、对象多得每个 apiserver 都要在内存里存一份的平台集群。文章的核心观点是:这三种压力方向不同,按节点数调优往往治错病,加 apiserver 还可能因为每个都复制全量 watch 缓存而让情况更糟。作者提出从四个“接缝”入手(存储分工、节点存活上报、分片维度、缓存驻留),并说明部分能力已有现成配置,像 KEP-4743、KEP-5866 这样的改进仍在推进中,具体何时可用原文没有说明。对运维 Kubernetes 的读者来说,这是一份先分清自己属于哪种规模压力、再决定调优方向的思路清单。

可以使用的工具

文中可用工具

  • Kubernetes容器编排系统,本文讨论的控制平面容量问题都发生在它上面
  • etcdKubernetes 的键值存储后端,本文建议把非持久流量分流出去并用内存 lease 刷新减轻写压力
  • kOps原文提到它文档里记录了增加 apiserver 的做法
  • KEP-4743定义存储接口边界的提案,用来把不同资源类型路由到不同后端
  • KEP-5866为 API 流量引入哈希范围过滤的提案,是分片的基础
  • etcd-servers-overrides已有配置项,可把资源类型指向不同的 etcd 后端,但目前只支持内置资源
这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。