[英]How to run pod with existing statefulset in kubernetes cluster?
[英]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.