k8s 集群的 cpu 核是怎么计算的?

2022-09-25 00:19:21 +08:00
 vevlins

k8s 小白。

1 个 k8s 集群中的机器良莠不齐,同样都是 4 核心,但有的 cpu 强有的 cpu 弱,在 cpu limit 中填写的 1000m 指的到底是多少性能呢?

如果 k8s 没有比较各个 node 的 cpu 性能差异,那同样限制了 cpu limit 为 100m ,如果 pod 分配到低端 node 上就跑得慢,分配到高端 node 上就跑得快。那不就没办法把性能不一样的机器组成一个集群了?

如果 k8s 比较了各个 node 的性能差异,比如跑了一个基准任务得出 node1 一个核只相当于 node2 1/10 个核,最终计算出摊平的核心数为 1.1 个等价 node1 cpu 核,那通过什么命令得到整个集群下的核心总数?这种平均出来的核的性能怎么衡量,比如一个程序在个人电脑上 0.1 个核就差不多,但当我部署到平均实力更强的集群上可能只需要 0.05 个核,平均实力更弱的集群上需要 0.2 个核,只能在集群中部署上去跑压测才知道吗?

1510 次点击
所在节点    Kubernetes
3 条回复
dier
2022-09-25 17:01:51 +08:00
把性能一样的 Node 打同样的标签,需要性能一样的就通过标签控制 Pod 被调度到对应的节点。
vevlins
2022-09-25 18:19:54 +08:00
@dier 感谢
yyttrr
2022-10-25 10:51:17 +08:00
最近也在想这个问题,能容忍的性能差别越大的服务的单位运行成本肯定是更低的,尤其是云端的弹性环境。
可以通过多个指标判断服务是否需要水平伸缩,cpu 水位 rt 连接数甚至业务上的埋点之类的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/882702

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX