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 ClusterResourcePlacementkan 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 här skärmbilden visar ett översiktsdiagram över ramverket för schemaläggning av flottan.

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