Azure Kubernetes Fleet Manager-schemaläggaren och schemaläggningsramverket
Den här artikeln innehåller en konceptuell översikt över scheduler- och schemaläggningsramverket i Azure Kubernetes Fleet Manager (Fleet).
Vad är schemaläggaren?
Schemaläggaren är en kärnkomponent i vagnparksarbetsbelastningen med det primära ansvaret för att bestämma schemaläggningsbeslut för ett paket med resurser baserat på den senaste ClusterSchedulingPolicySnapshot
som genereras av ClusterResourcePlacement
.
Som standard fungerar schemaläggaren i batchläge, vilket förbättrar prestandan. I det här läget binder den en ClusterResourceBinding
från ett ClusterResourcePlacement
till flera kluster när det är möjligt.
Batchläge
Schemaläggning av resurser inom en ClusterResourcePlacement
innebär fler beroenden jämfört med schemaläggning av poddar i en Kubernetes-distribution. Det finns två anmärkningsvärda skillnader:
- I en
ClusterResourcePlacement
kan flera repliker av resurser inte schemaläggas i samma kluster. - Stöder
ClusterResourcePlacement
olika placeringstyper i ett enda objekt.
Mer information finns i den överordnade Dokumentationen om Fleet Scheduler.
Vad är schemaläggningsramverket?
Ramverket för schemaläggning av flottan överensstämmer nära med det interna Kubernetes-schemaläggningsramverket, med flera ändringar och skräddarsydda funktioner som stöd för vagnparksarbetsbelastningen.
Den främsta fördelen med det här ramverket är dess förmåga att kompilera plugin-program direkt till schemaläggaren. Api:et underlättar implementeringen av olika schemaläggningsfunktioner som plugin-program, vilket säkerställer en enkel och underhållsbar kärna.
Fleet Scheduler integrerar följande grundläggande inbyggda plugin-program:
- Plugin-program för topologispridning: Stöder
TopologySpreadConstraints
i placeringsprincipen. - Plugin-program för klustertillhörighet: Underlättar tillhörighetssatsen i placeringsprincipen.
- Samma plugin-program för placeringstillhörighet: Utformat specifikt för flottan och förhindrar att flera repliker placeras i samma kluster.
- Plugin-program för klusterberättigande: Aktiverar klusterval baserat på specifika statuskriterier.
- Plugin-programmet Taint & toleration: Aktiverar klusterval baserat på taints i klustret och toleranser på
ClusterResourcePlacement
.
Mer information finns i den överordnade dokumentationen om Fleet Scheduling Framework.
Nästa steg
Azure Kubernetes Service