Azure Kubernetes Fleet Manager 排程器和排程架構
本文提供 Azure Kubernetes Fleet Manager 中排程器和排程架構的概念性概觀。
什麼是排程器?
排程器是車隊工作負載中的核心元件,主要負責根據 所產生的最新 ClusterSchedulingPolicySnapshot
專案,決定資源組合的 ClusterResourcePlacement
排程決策。
根據預設,排程器會以 批次模式運作,以增強效能。 在此模式中,它會盡可能將 系ClusterResourcePlacement
結ClusterResourceBinding
至多個叢集。
批次模式
相較於在 Kubernetes 部署中排程 Pod,在內的 ClusterResourcePlacement
排程資源涉及更多相依性。 有兩個值得注意的區別:
- 在 中
ClusterResourcePlacement
,無法在相同的叢集上排程多個資源複本。 ClusterResourcePlacement
支援單一物件內的不同放置類型。
如需詳細資訊,請參閱 開放原始碼機隊排程器檔。
什麼是排程架構?
車隊排程架構與原生 Kubernetes 排程架構緊密配合,併入數項修改和量身打造的功能,以支持車隊工作負載。
此架構的主要優點是其能夠將外掛程式直接編譯至排程器。 其 API 可協助將各種排程功能實作為外掛程式,確保輕量型且可維護的核心。
車隊排程器會整合下列基本內建外掛程式:
- 拓撲散佈外掛程式:支援
TopologySpreadConstraints
放置原則中的 。 - 叢集親和性外掛程式:協助放置原則中的 affinity 子句。
- 相同的放置親和性外掛程式:專為車隊設計,並防止多個復本放在相同的叢集中。
- 叢集資格外掛程式:根據特定狀態準則啟用叢集選取。
- Taint 和 toleration 外掛程式:根據叢集上的污點和 上的
ClusterResourcePlacement
托勒,啟用叢集選取。
如需詳細資訊,請參閱 開放原始碼機隊排程架構檔。