gpt4 book ai didi

kubernetes - 设置关联规则后,权重如何影响 pod 调度?

转载 作者:行者123 更新时间:2023-12-02 12:13:36 25 4
gpt4 key购买 nike

背景:

在对应用程序进行性能测试时,我在为我的 php-fpm 扩展副本时得到了不一致的结果。我意识到 3/4 pod 被安排在同一个节点上的容器。

然后我配置了反关联规则,以不在同一节点上调度 pod。我很快意识到使用 requiredDuringSchedulingIgnoredDuringExecution不是一个选项,因为我没有副本数 > 节点数,所以我配置了 preferredDuringSchedulingIgnoredDuringExecution .

在大多数情况下,我的 pod 似乎在我的所有节点上均匀调度,但有时(通过滚动升级看到),我会在同一个节点上看到 pod。我感觉像weight当前设置为 100 的值正在发挥作用。

这是我正在使用的 yaml(掌 Helm ):

      {{- if .Values.podAntiAffinity }}
{{- if .Values.podAntiAffinity.enabled }}
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app: "{{ .Values.deploymentName }}"
topologyKey: "kubernetes.io/hostname"
{{- end }}
{{- end }}

问题:

我阅读文档的方式是 weight数字将根据节点的繁忙程度(简化)添加到节点的计算分数中,但是我不明白 1 与 100 的权重有何不同?

为什么有时会使用此规则将 Pod 安排在同一节点上?是不是因为没有安排 pod 的节点的总分太低(因为它太忙)?

有没有办法查看 pod 如何在特定节点上调度的日志/事件?我希望 kubectl describe pod拥有这些细节,但似乎没有(除非在错误情况下)。

最佳答案

不保证 preferredDuringSchedulingIgnoredDuringExecution。

two types of node affinity, called requiredDuringSchedulingIgnoredDuringExecution and preferredDuringSchedulingIgnoredDuringExecution. You can think of them as “hard” and “soft” respectively, in the sense that the former specifies rules that must be met for a pod to be scheduled onto a node (just like nodeSelector but using a more expressive syntax), while the latter specifies preferences that the scheduler will try to enforce but will not guarantee.



您设置的权重具有优势,但还有其他参数(由用户和 kubernetes 设置)具有自己的权重。下面的例子应该给出一个更好的画面,你设置的权重很重要
 affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: example.com/myLabel
operator: In
values:
- a
weight: 40
- preference:
matchExpressions:
- key: example.com/myLabel
operator: In
values:
- b
weight: 35

关于kubernetes - 设置关联规则后,权重如何影响 pod 调度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59759795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com