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

Kubernetes 资源限制要不要限制 CPU

  •  
  •   seagull7558 · 2023-04-11 09:08:05 +08:00 · 2112 次点击
    这是一个创建于 591 天前的主题,其中的信息可能已经有所发展或是发生改变。
    硬件资源: 一台超融合服务器 虚拟了很多很多非常多 CPU 出来,作为某个 node 节点

    问题 1: 所有应用不限制 CPU,但是 springboot 应用启动的非常慢 我本地 docker --cpuset-cpus="1" 测试了下 只需要一分钟 但是服务器上需要三分钟才能运行起来

    解决: 没解决

    问题 2: 所有应用不限制 CPU 调度的时候死摁着某一个配置较好的 node 薅

    解决: 应用添加 CPU 限制 node 节点配置 CPU 限制 并配置预留资源

    问题 3: 所有应用在限制 CPU 之后 整个节点的 CPU 利用率较低 20% 这也是我感觉矛盾的一个点 配置了限制就会有浪费 不配置限制 就会造成调度不均衡

    注: 我是开发 k8s 只用在开发和测试环境方便我们使用 helm 随时拉起来一套环境并在不需要的时候随时回收 没有很深入学习过
    8 条回复    2023-04-11 10:28:41 +08:00
    dayeye2006199
        1
    dayeye2006199  
       2023-04-11 09:10:10 +08:00
    没有 limit 也是有个默认值的
    Aumujun
        2
    Aumujun  
       2023-04-11 09:23:25 +08:00
    先不要限制,把 metrics 弄出来监控一段时间取峰值,不要随意设置 limits 。
    MonkeyJon
        3
    MonkeyJon  
       2023-04-11 09:30:57 +08:00
    我们项目发现,限制资源小于 0.5 会导致服务启动巨慢
    billzhuang
        4
    billzhuang  
       2023-04-11 09:51:28 +08:00
    我一般 CPU 是 requests 设置一个合适的值,limits 设置很大。
    zhoudaiyu
        5
    zhoudaiyu  
       2023-04-11 09:52:50 +08:00   ❤️ 1
    可以先限制宽松一点,然后跑一段观察 Prometheus 的 CPU 使用时间和被 Throttle 时间去决定分配多少 Core 合适
    nicholasxuu
        6
    nicholasxuu  
       2023-04-11 10:12:59 +08:00
    request 决定 pod 被分配到哪个 node 上,32 核的机器,cpu request 之和到 32 就不会编排新 pod 了。
    limit 决定单个 pod 最多能用多少。
    cpu limit 建议至少 1 ,不然相当于被强制限速。
    然后用 CPU request 来设计 pod 的分布,一般是按启动后稳定下来的 CPU 使用量估算,防止把 node 撑爆。
    hyperdak288
        7
    hyperdak288  
       2023-04-11 10:21:04 +08:00
    按 cpu throttling 按分配
    hzfyjgw
        8
    hzfyjgw  
       2023-04-11 10:28:41 +08:00
    cpu 资源属于可压缩资源,建议只分配 requests, 不设置 limits
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2800 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 13:10 · PVG 21:10 · LAX 05:10 · JFK 08:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.