AWS EKS 完全忽略“topologySpreadConstraints”

0

【以下的问题经过翻译处理】 嘿,

使用 AWS EKS 1.21 时,当前有 1 个节点正在运行(包括cluster-autoscaler,并且asg正常运行中)并创建具有 5 个副本的部署并指定“topologySpreadConstraints”,如下所示:

topologySpreadConstraints:
        - maxSkew: 1
          topologyKey: kubernetes.io/hostname
          whenUnsatisfiable: DoNotSchedule
          labelSelector:
            matchLabels:
              app: xxx

调度程序会完全忽略这一点,并将所有 pod 调度到同一节点上。 (即使有“DoNotSchedule”) 如何解决这个问题?我想让 cluster-autoscaler 能够意识到无法调度2个节点。

提前致谢。

profile picture
EXPERTE
gefragt vor 6 Monaten30 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 调度 pod 的是 Kubernetes 调度程序,而不是 EKS。

也就是说,因为您在一个可用区中只有一个节点,所以调度程序没有违反您的约束。

偏差始终为 0。请参阅此处了解偏差如何被计算。

Cluster Autoscaler 在做出扩展决策时不考虑此约束。

您可能需要考虑增加 ASG 中的最小实例和所需实例。

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen