V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vevlins
V2EX  ›  Kubernetes

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

  •  
  •   vevlins · 2022-09-25 00:19:21 +08:00 · 1629 次点击
    这是一个创建于 785 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 个核,只能在集群中部署上去跑压测才知道吗?

    3 条回复    2022-10-25 10:51:17 +08:00
    dier
        1
    dier  
       2022-09-25 17:01:51 +08:00 via iPhone   ❤️ 1
    把性能一样的 Node 打同样的标签,需要性能一样的就通过标签控制 Pod 被调度到对应的节点。
    vevlins
        2
    vevlins  
    OP
       2022-09-25 18:19:54 +08:00
    @dier 感谢
    yyttrr
        3
    yyttrr  
       2022-10-25 10:51:17 +08:00   ❤️ 1
    最近也在想这个问题,能容忍的性能差别越大的服务的单位运行成本肯定是更低的,尤其是云端的弹性环境。
    可以通过多个指标判断服务是否需要水平伸缩,cpu 水位 rt 连接数甚至业务上的埋点之类的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   921 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 19:37 · PVG 03:37 · LAX 11:37 · JFK 14:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.