请问 k8s 如何将 pod 均匀调度到每个 node 上? 目前遇到问题,node 负载不均?
|  |      1lixia625      2020-08-20 10:08:09 +08:00 pod affinity? | 
|      2whileFalse      2020-08-20 10:22:29 +08:00 首先,你的 deployment 给 pod 设置了资源需求 /资源限制吗? | 
|  |      3SkyYu822      2020-08-20 10:41:46 +08:00 做个软性的 pod anti affinity | 
|  |      4StarUDream      2020-08-20 10:53:28 +08:00 | 
|  |      5ropon OP | 
|      6pwli      2020-08-20 12:59:18 +08:00 自己反自己可以不 :) | 
|  |      7orcusfox      2020-08-20 13:12:37 +08:00 via iPhone 如果每个 node 有且仅有一个 pod,用 daemonset 。如果只是要均匀分布,就用 anti affinity 。讲真不一定有很大意义,而且可能干扰到 rollingUpdate | 
|  |      8hwdef      2020-08-20 14:29:14 +08:00 6 楼的想法比较正确,pod 打个 label,如果 node 上有这个 label 的 pod 了,就反亲和 | 
|      9ManjusakaL      2020-08-20 14:45:35 +08:00  1 1. 确保资源能够满足需求 2. 给节点打上 Label,可以做亲和性调度 3. Pod 带 Label,用反亲和来做 Pod 打散 4. 亲和和反亲和中具体是用 **requiredDuringSchedulingIgnoredDuringExecution** 还是 **preferredDuringSchedulingIgnoredDuringExecution** 看你自己场景 | 
|  |      10594duck      2020-08-20 17:21:07 +08:00  1 你是几台机器做的 K8s 呀。亲和和反亲和是有上限的,这不是解决问题的良药。 良药是什么呢,你现在是 30 台物理服务器跑的 Docker 你把 30 台扩充成 60 台,你会发现问题就解决多了。 那所谓的云原生优势在哪里呢,大佬们会告诉你,你不应该自己安装 K8s,你应该用我们的 K8s 服务,我们有 2000 台服务器帮你做调度。 所以我们选择不搞 K8s,就一个萝卜一个坑蛮好的。萝卜不够了,就临时开机器 加坑。一个月不会比 K8s 反复折腾贵的 | 
|      11dreamusername      2020-08-27 08:58:42 +08:00 楼主的问题是,发现 node 节点的资源利用率不均,这个问题一般用两种方法去尝试解决: - 亲和性与反亲和性,每个 node 上只存在一个 deploy/sts 的 pod - 严格的 resources,每个 deploy/sts 均设置 limits 与 requests 但是这两种都上线了以后,还会发现 node 资源利用率不均。 只能换个角度看待这个问题,scheduler 是自带的,如果你已经设置完以上两步,是已经可以满足服务的稳定性了,这时候的问题是成本问题,而不是服务的稳定性问题了。 | 
|      12yuzhiquan      2020-09-16 10:19:27 +08:00 `topologySpreadConstraints` |