kubernetes 調度相關

nodeAffinity(主機親和性),podAffinity(POD親和性)以及podAntiAffinity(POD反親和性)node

nodeAffinity使用場景 :
● 將S1服務的全部Pod部署到指定的符合標籤規則的主機上。
● 將S1服務的全部Pod部署到除部分主機外的其餘主機上。
podAffinity使用場景 :
● 將某一特定服務的pod部署在同一拓撲域中,不用指定具體的拓撲域。
● 若是S1服務使用S2服務,爲了減小它們之間的網絡延遲(或其它緣由),把S1服務的POD和S2服務的pod部署在同一拓撲域中。
podAntiAffinity使用場 景:
● 將一個服務的POD分散在不一樣的主機或者拓撲域中,提升服務自己的穩定性。
● 給POD對於一個節點的獨佔訪問權限來保證資源隔離,保證不會有其它pod來分享節點資源。
● 把可能會相互影響的服務的POD分散在不一樣的主機上。網絡


對於親和性和反親和性,每種都有三種規則能夠設置:
RequiredDuringSchedulingRequiredDuringExecution :在調度期間要求知足親和性或者反親和性規則,若是不能知足規則,則POD不能被調度到對應的主機上。在以後的運行過程當中,若是由於某些緣由(好比修改label)致使規則不能知足,系統會嘗試把POD從主機上刪除(如今版本還不支持)。
RequiredDuringSchedulingIgnoredDuringExecution :在調度期間要求知足親和性或者反親和性規則,若是不能知足規則,則POD不能被調度到對應的主機上。在以後的運行過程當中,系統不會再檢查這些規則是否知足。
PreferredDuringSchedulingIgnoredDuringExecution :在調度期間儘可能知足親和性或者反親和性規則,若是不能知足規則,POD也有可能被調度到對應的主機上。在以後的運行過程當中,系統不會再檢查這些規則是否知足。ui

相關文章
相關標籤/搜索