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