簡體   English   中英

Kubernetes pod 親和性 - 在不同節點上調度 pod

[英]Kubernetes pod affinity - Scheduling pods on different nodes

我們在 3 節點 kubernetes 集群上運行帶有 3 個 pod 的應用程序。 當我們部署應用程序時,有時,Pod 會被調度到同一個 kubernetes 節點。

我們希望我們的 pod 以這樣一種方式調度,它可以將我們的 pod 分布在節點之間(同一應用程序的 2 個 pod 不應是同一個節點)。 事實上,根據文檔( https://kubernetes.io/docs/concepts/configuration/assign-pod-node/),kubernetes在這方面已經做得很好。 但是,如果它沒有找到資源,它會將其調度到同一個節點。 它如何使它成為一個硬約束?

要求:如果 pod 不遵守約束,我們希望部署失敗或處於掛起狀態(同一應用程序的 2 個 pod 不應是同一節點)

我認為這個會奏效

affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
      - labelSelector:
          matchExpressions:
          - key: app
            operator: In
            values:
            - <VALUE>
        topologyKey: "kubernetes.io/hostname"

如需更多參考,您可以訪問: https : //thenewstack.io/implement-node-and-pod-affinity-anti-affinity-in-kubernetes-a-practical-example/

暫無
暫無

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

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