簡體   English   中英

如何在 Kubernetes StatefulSet 中保證跨 AZ 均勻分布 Pod

[英]How to guarantee even spread pod distribution across AZ in Kubernetes StatefulSet

我在 EKS 集群中部署了一個具有 30 個副本(或 N 個副本,其中 N 是 3 的倍數)的 K8s StatefulSet

EKS 集群有 3 個節點,一個節點用於一個 AZ,我想通過 Kubernetes Affinity/AntiAffinity保證Pod 在不同 AZ 之間的平均分布。

us-west-2a (n nodes) -> N/3 pods
us-west-2b (m nodes) -> N/3 pods
us-west-2c (o nodes) -> N/3 pods

謝謝

雖然這對於節點親和力來說太可能了,但直接的方法是使用 topologySpreadContraints,這里是 k8s 文檔、圖表和示例以查看它的實際應用。

您始終可以使用從 AWS 獲得的選擇器和默認標簽。 一個簡單的 pod 規范示例在這里

topologySpreadConstraints:
  - maxSkew: 1
    topologyKey: "topology.kubernetes.io/zone"
    whenUnsatisfiable: DoNotSchedule
    labelSelector:
      matchLabels:
        app: myapp

您可以根據此處所述的需要包括偏斜和其他選項: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM