我試圖找到一個明確的答案,我確定它在某個地方的 kubernetes 檔案中,但我找不到它。
如果我的集群中有 4 個節點,并且正在運行一個計算密集型 pod,該 pod 可能會用完單個節點上的所有/大部分資源,并且我將該 pod 擴展到 4 個副本 - Kubernetes 會將這些新 pod 放在未使用的節點上自動地?
或者,如果該計算密集型 pod 當時實際上并未處理數字,但我將 pod 擴展到 4 個副本(即:運行原始 pod 的節點具有大量“可用”資源),kubernetes 仍會看到有 3 個副本其他完全免費的節點并在它們上啟動 Pod?
uj5u.com熱心網友回復:
據我所知,這取決于調度程式配置。如果您正在運行本地 kubernetes 集群并且您有權訪問調度程式行程,則可以根據需要調整策略(請參閱檔案)。
否則,您只能使用 pod 資源請求/限制和反親和性(請參閱此處)。
uj5u.com熱心網友回復:
Kubernetes 將在任何資源充足的節點上調度新的 pod。因此,如果節點有足夠的資源剩余,其中一個新創建的 pod 可能會最終出現在一個已經運行的節點上。
您可以使用反親和性來防止 pod 與來自同一部署的 pod 在同一節點上調度,例如通過使用開發的標簽
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: resources-group
operator: In
values:
- high
topologyKey: topology.kubernetes.io/zone
有關該主題的更多資訊,請閱讀檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/349807.html
標籤:Kubernetes
