系統支持豐富的調度策略,包括靜態的全局調度策略,以及動態的運行時調度策略,用戶可以根據需要自由組合使用這些策略來實現自己的需求。目前云容器引擎支持根據節點名稱、節點標簽進行調度,同時支持根據親和性與反親和性調度。
節點名稱調度:應用將調度到指定名稱的節點上。
節點標簽調度:應用將調度到指定標簽的節點上。
親和\反親和調度:
用戶可根據業務需求進行應用的就近部署,容器間通信就近路由,減少網絡消耗。如下圖,APP1、APP2、APP3 和 APP4 部署在相同節點上;

同個應用的多個實例反親和部署,減少宕機影響;互相干擾的應用反親和部署,避免干擾。如 APP1、APP2、APP3 和APP4 分別部署在不同節點上,這四個應用為反親和性部署。

云容器平臺支持以下幾種親和性設置:
設置應用間親和:應用部署在相同“節點”中。
設置應用間反親和:“不同應用”或“相同應用的多個實例”部署在不同主機中。
應用與節點間的親和性:應用與節點親和,決定應用部署在某些特定的主機中。
應用與節點間的反親和:決定應用不能部署在某些特定的主機中。
在設置“應用間的親和性”和“應用與節點間的親和性”時,需確保不要出現互斥情況,否則應用會部署失敗。例如如下互斥情況,應用將會部署失敗:
APP1、APP2設置了應用間的反親和,例如APP1部署在Node1,APP2部署在 Node2。
APP3部署上線時,既希望與 APP2 親和,又希望可以部署在不同節點如Node3 上,這就造成了應用親和和節點親和間的互斥,導致最終應用部署失敗。
進入應用創建流程中的【高級配置】步驟,可根據需求進行不同的節點調度設置。以下列舉了六種調度策略設置的方式:
1.選擇【節點名稱調度】:在【調度】>【節點名稱調度】下,單擊【添加名稱調度】,根據節點名稱勾選節點,單擊【確定】。該應用將部署在該名稱下的節點中。
2.選擇【節點標簽調度】:在【調度】>【節點標簽調度】下,單擊【添加標簽調度】,勾選節點標簽,單擊【確定】。該應用將部署在滿足該標簽的節點中;
3.選擇【與節點的親和性】:在【調度】>【與節點的親和性】下,單擊【添加節點親和】,勾選需要親和的節點,單擊【確定】。該應用將部署在選擇的節點中;
4.選擇【與節點的反親和性】:在【調度】>【與節點的反親和性】下,單擊【添加節點反親和】,勾選需要反親和的節點,單擊【確定】。該應用將不會部署在選擇的節點中;
5. 選擇【與應用的親和】:在【調度】>【與應用的親和性】下,單擊【添加應用親和】,勾選需要親和的應用,單擊【確定】。親和的應用將部署在相同節點中;
6.選擇【與應用反親和】:在【調度】>【與應用的反親和性】下,單擊【添加應用反親和】,勾選需要反親和的應用,單擊【確定】。反親和的應用將部署在不同節點中;