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
전문가
질문됨 6달 전30회 조회
1개 답변
0

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

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

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

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

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

profile picture
전문가
답변함 6달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인