k8s 里多个 pods 能共享一套 cpu/内存限制吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
felixin
V2EX    Kubernetes

k8s 里多个 pods 能共享一套 cpu/内存限制吗?

  •  
  •   felixin 2021-07-11 00:12:20 +08:00 via Android 3787 次点击
    这是一个创建于 1558 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如我有 100 个 pods,总共给它们分配 8c/32g,有什么手段可以办到吗?

    这些 pods 大部分时间只有少部分活动,其他的都在待机状态,只耗内存不耗 cpu

    20 条回复    2021-07-13 09:29:47 +08:00
    felixin
        1
    felixin  
    OP
       2021-07-11 00:13:14 +08:00 via Android
    不能在一个 pod 里装多个 container,因为端口,文件系统会冲突
    515576745
        2
    515576745  
       2021-07-11 02:59:09 +08:00 via Android
    pod 模板指定 resource request 和 limit
    kaikai5601
        3
    kaikai5601  
       2021-07-11 10:04:45 +08:00 via iPhone   2
    在一个 namespace 下面可以,分配 ns 限制
    vhui
        4
    vhui  
       2021-07-11 11:57:59 +08:00   1
    resourcequota ?
    liuxu
        5
    liuxu  
       2021-07-11 13:40:41 +08:00
    ns 限制是正解
    felixin
        6
    felixin  
    OP
       2021-07-11 20:48:26 +08:00 via Android
    @kaikai5601 这个好像是指该 ns 下的 pod 的资源 limit 总和,也就是说比如创建 100 个 pod 的话,每个 pod 上写的 limit 不能超过总数 8c/100=0.08c ,这样他们加起来才是总数 8c 。

    但我需要的是每一个 pod 的 limit 都是 8c,100 个 pod 的总 limit 也是 8c,这个好像是做不到的?

    也就是如果有前面一个 pod 占用了全部的 8c,那么后面的 pod 可以完全无响应。最差情况下允许有 99 个完全无法运行的 pod 。
    kaikai5601
        7
    kaikai5601  
       2021-07-12 00:25:11 +08:00 via iPhone
    @felixin 做不到,你 limit 不够,apiserver 不会接受你创建 pod 的请求了。你这样做的意义是啥。?
    littlezzll
        8
    littlezzll  
       2021-07-12 00:44:17 +08:00 via Android
    limitrange default? Pod 不指定 resource 就走默认的 limitrange
    turingli
        9
    turingli  
       2021-07-12 07:12:46 +08:00 via Android
    不限制 pod 只限制 ns
    miaoshixuan
        11
    miaoshixuan  
       2021-07-12 09:38:48 +08:00
    k8s 做不到的
    lvzhiqiang
        12
    lvzhiqiang  
       2021-07-12 10:42:22 +08:00
    共享一套限制可以从 NS 层级去控制,POD 设置一个默认的限制,但是目前没办法根据应用 POD 的状态去调整 POD 的内存用量,内存你一旦分配出去,除非杀掉,否则内存是回收不回来,除非你应用如果不重要的话,通过流量请求唤醒,我觉得有可能实现,但是这又会引生其它问题。
    felixin
        13
    felixin  
    OP
       2021-07-12 11:18:39 +08:00 via Android
    @kaikai5601 就是一套插件系统允许用户上传自己的容器镜像生成 pod,但是大多数 pod 只有个位数的请求量,长期占用 cpu 资源太浪费了
    felixin
        14
    felixin  
    OP
       2021-07-12 11:20:18 +08:00 via Android
    @lvzhiqiang 流量唤醒这个思路可以试试
    kaikai5601
        15
    kaikai5601  
       2021-07-12 11:58:22 +08:00   1
    @felixin 建议直接 pod 限制,如果用户有操作的话配置 HPA,自动扩容,用户操作结束自动缩
    salmon5
        16
    salmon5  
       2021-07-12 11:59:19 +08:00   1
    可以配置,这种是 Burstable level 的 pod
    limit > request,可以大很多;
    requests:
    cpu: 50m
    memory: 128Mi
    limits:
    cpu: 8000m
    memory: 16Gi
    可以运行 160 个 pod
    noahzh
        17
    noahzh  
       2021-07-12 14:50:00 +08:00
    不限制不就完了。
    salmon5
        18
    salmon5  
       2021-07-13 09:24:39 +08:00
    @noahzh 不限制不行,它有默认值
    felixin
        19
    felixin  
    OP
       2021-07-13 09:27:09 +08:00 via Android
    @salmon5 谢谢,找了点资料

    https://www.weave.works/blog/kubernetes-pod-resource-limitations-and-quality-of-service
    felixin
        20
    felixin  
    OP
       2021-07-13 09:29:47 +08:00 via Android
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5279 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 07:09 PVG 15:09 LAX 00:09 JFK 03:09
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86