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
ESPERTO
posta 6 mesi fa26 visualizzazioni
1 Risposta
0

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

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

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

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

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

profile picture
ESPERTO
con risposta 6 mesi fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande