请问 k8s 如何将 pod 均匀调度到每个 node 上 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ropon
V2EX    Kubernetes

请问 k8s 如何将 pod 均匀调度到每个 node 上

  •  
  •   ropon 2020-08-20 10:04:52 +08:00 5101 次点击
    这是一个创建于 1909 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问 k8s 如何将 pod 均匀调度到每个 node 上? 目前遇到问题,node 负载不均?

    12 条回复    2020-09-16 10:19:27 +08:00
    lixia625
        1
    lixia625  
       2020-08-20 10:08:09 +08:00
    pod affinity?
    whileFalse
        2
    whileFalse  
       2020-08-20 10:22:29 +08:00
    首先,你的 deployment 给 pod 设置了资源需求 /资源限制吗?
    SkyYu822
        3
    SkyYu822  
       2020-08-20 10:41:46 +08:00
    做个软性的 pod anti affinity
    StarUDream
        4
    StarUDream  
       2020-08-20 10:53:28 +08:00
    ropon
        5
    ropon  
    OP
       2020-08-20 12:38:24 +08:00 via iPhone
    @StarUDream
    你说的亲和性及污点调度
    有具体思路吗?目前无头绪
    pwli
        6
    pwli  
       2020-08-20 12:59:18 +08:00
    自己反自己可以不 :)
    orcusfox
        7
    orcusfox  
       2020-08-20 13:12:37 +08:00 via iPhone
    如果每个 node 有且仅有一个 pod,用 daemonset 。如果只是要均匀分布,就用 anti affinity 。讲真不一定有很大意义,而且可能干扰到 rollingUpdate
    hwdef
        8
    hwdef  
       2020-08-20 14:29:14 +08:00
    6 楼的想法比较正确,pod 打个 label,如果 node 上有这个 label 的 pod 了,就反亲和
    ManjusakaL
        9
    ManjusakaL  
       2020-08-20 14:45:35 +08:00   1
    1. 确保资源能够满足需求

    2. 给节点打上 Label,可以做亲和性调度

    3. Pod 带 Label,用反亲和来做 Pod 打散

    4. 亲和和反亲和中具体是用 **requiredDuringSchedulingIgnoredDuringExecution** 还是 **preferredDuringSchedulingIgnoredDuringExecution** 看你自己场景
    594duck
        10
    594duck  
       2020-08-20 17:21:07 +08:00   1
    你是几台机器做的 K8s 呀。亲和和反亲和是有上限的,这不是解决问题的良药。

    良药是什么呢,你现在是 30 台物理服务器跑的 Docker 你把 30 台扩充成 60 台,你会发现问题就解决多了。


    那所谓的云原生优势在哪里呢,大佬们会告诉你,你不应该自己安装 K8s,你应该用我们的 K8s 服务,我们有 2000 台服务器帮你做调度。

    所以我们选择不搞 K8s,就一个萝卜一个坑蛮好的。萝卜不够了,就临时开机器 加坑。一个月不会比 K8s 反复折腾贵的
    dreamusername
        11
    dreamusername  
       2020-08-27 08:58:42 +08:00
    楼主的问题是,发现 node 节点的资源利用率不均,这个问题一般用两种方法去尝试解决:
    - 亲和性与反亲和性,每个 node 上只存在一个 deploy/sts 的 pod
    - 严格的 resources,每个 deploy/sts 均设置 limits 与 requests
    但是这两种都上线了以后,还会发现 node 资源利用率不均。
    只能换个角度看待这个问题,scheduler 是自带的,如果你已经设置完以上两步,是已经可以满足服务的稳定性了,这时候的问题是成本问题,而不是服务的稳定性问题了。
    yuzhiquan
        12
    yuzhiquan  
       2020-09-16 10:19:27 +08:00
    `topologySpreadConstraints`
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3047 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 12:48 PVG 20:48 LAX 04:48 JFK 07:48
    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