Azure Kubernetes Fleet Manager-planner en planningsframework

Dit artikel bevat een conceptueel overzicht van het scheduler- en planningsframework in Azure Kubernetes Fleet Manager (Fleet).

Wat is de planner?

De scheduler is een kernonderdeel in de workload van de vloot met de primaire verantwoordelijkheid voor het bepalen van planningsbeslissingen voor een bundel resources op basis van de meest recente ClusterSchedulingPolicySnapshot gegenereerde door de ClusterResourcePlacement.

De scheduler werkt standaard in de batchmodus, waardoor de prestaties worden verbeterd. In deze modus wordt een ClusterResourceBinding van een ClusterResourcePlacement naar meerdere clusters gekoppeld, indien mogelijk.

Batchmodus

Het plannen van resources binnen een ClusterResourcePlacement resource omvat meer afhankelijkheden in vergelijking met het plannen van pods binnen een Kubernetes-implementatie. Er zijn twee belangrijke verschillen:

  • In een ClusterResourcePlacementcluster kunnen meerdere replica's van resources niet worden gepland.
  • De ClusterResourcePlacement ondersteuning biedt ondersteuning voor verschillende plaatsingstypen binnen één object.

Zie de upstream Fleet Scheduler-documentatie voor meer informatie.

Wat is het planningsframework?

Het vlootplanningsframework is nauw afgestemd op het systeemeigen Kubernetes-planningsframework, waarbij verschillende wijzigingen en op maat gemaakte functionaliteiten zijn opgenomen ter ondersteuning van de vlootworkload.

In deze schermopname ziet u een overzichtsdiagram van het vlootplanningsframework.

Het belangrijkste voordeel van dit framework is de mogelijkheid om invoegtoepassingen rechtstreeks in de scheduler te compileren. De API vereenvoudigt de implementatie van diverse planningsfuncties als plug-ins, waardoor een lichtgewicht en onderhoudbare kern wordt gegarandeerd.

De fleet scheduler integreert de volgende fundamentele ingebouwde invoegtoepassingen:

  • Topologie spread plugin: ondersteunt het TopologySpreadConstraints in het plaatsingsbeleid.
  • Invoegtoepassing voor clusteraffiniteit: faciliteert de affiniteitscomponent in het plaatsingsbeleid.
  • Dezelfde invoegtoepassing voor plaatsingsaffiniteit: speciaal ontworpen voor vloot en voorkomt dat meerdere replica's binnen hetzelfde cluster worden geplaatst.
  • Invoegtoepassing voor geschiktheid voor clusters: schakelt clusterselectie in op basis van specifieke statuscriteria.
  • Taint & toleration plugin: schakelt clusterselectie in op basis van taints op het cluster en tolerantie op de ClusterResourcePlacement.

Zie de upstream Fleet Scheduling Framework-documentatie voor meer informatie.

Volgende stappen