CCE支持“自定義調度策略”和“簡易調度策略”。自定義調度策略開放節點親和、工作負載親和以及工作負載反親和調度策略的配置,以滿足用戶的更高需求。簡易調度策略提供簡單便捷以及足夠功能的調度方式。
。
- 節點親和性
- 工作負載親和性
- 工作負載反親和性
說明:
親和性調度中需要設置的標簽依賴節點的標簽和Pod的標簽,用戶可以使用內置的標簽進行設置,或者可以根據需求自定義節點和Pod的標簽并使用。
簡易調度策略提供工作負載和可用區的親和性、工作負載和節點的親和性以及工作負載間的親和性調度,用戶可根據業務需求進行相應的設置部署工作負載。
- 工作負載和可用區的親和性:基于可用區可以設置多條調度策略(包含親和、反親和),但只需滿足其中一條就會進行調度。
? 與可用區的親和性:即工作負載和可用區的親和性。
? 與可用區的反親和性:即工作負載和可用區的反親和性。
- 工作負載和節點的親和性:基于節點可以設置多條調度策略(包含親和、反親和),但只需滿足其中一條就會進行調度。例如集群下有節點A、B、C,設置調度策略為親和節點A,反親和節點B,則工作負載可以調度到除B以外任意一個節點上
? 與節點的親和性:即工作負載和節點的親和性。
? 與節點的反親和性:即工作負載和節點的反親和性。
- 工作負載間的親和性:基于工作負載可以設置多條調度策略,但多條策略中設置的標簽必須同時出現在一個工作負載中。
? 與工作負載的親和性:即工作負載間的親和性。用戶可根據業務需求進行工作負載的就近部署,容器間通信就近路由,減少網絡消耗。
如下圖,Workload1、Workload2、Workload3和Workload4部署在相同節點上,為親和性部署。
圖-工作負載間親和

? 與工作負載的反親和性:即工作負載間的反親和性。同個工作負載的多個實例反親和部署,減少宕機影響;互相干擾的工作負載反親和部署,避免干擾。
如下圖,Workload1、Workload2、Workload3和Workload4分別部署在不同節點上,這四個工作負載為反親和性部署。
圖-工作負載間反親和

須知:
在設置“工作負載間的親和性”和“工作負載和節點的親和性”時,需確保不要出現互斥情況,否則工作負載會部署失敗。
例如如下互斥情況,工作負載將會部署失敗:
- Workload1、Workload2設置了工作負載間的反親和,例如Workload1部署在“節點A”,Workload2部署在“節點B”。
- Workload3部署上線時,既希望與Workload2親和,又希望可以部署在不同節點如“節點C”或“節點A”上,這就造成了工作負載親和節點親和間的互斥,導致最終工作負載部署失敗。