Estrutura de agendamento e agendador do Gerenciador de Frota de Kubernetes do Azure
Este artigo fornece uma visão geral conceitual do agendador e da estrutura de agendamento no Gerenciador de Frota de Kubernetes do Azure (Frota).
O que é o agendador?
O agendador é um componente principal na carga de trabalho da frota com a principal responsabilidade de determinar decisões de agendamento para um pacote de recursos com base no ClusterSchedulingPolicySnapshot
mais recente gerado pelo ClusterResourcePlacement
.
Por padrão, o agendador opera no modo de lote, o que melhora o desempenho. Nesse modo, ele associa um ClusterResourceBinding
de um ClusterResourcePlacement
a vários clusters sempre que possível.
Modo de lote
O agendamento de recursos em um ClusterResourcePlacement
envolve mais dependências em comparação com o agendamento de pods em uma Implantação do Kubernetes. Há duas distinções notáveis:
- Em um
ClusterResourcePlacement
, várias réplicas de recursos não podem ser agendadas no mesmo cluster. - O
ClusterResourcePlacement
dá suporte a diferentes tipos de posicionamento em um único objeto.
Para obter mais informações, confira a documentação do Agendador de Frota de código aberto.
O que é a estrutura de agendamento?
A estrutura de agendamento de frota se alinha de perto com a estrutura de agendamento do Kubernetes nativa, incorporando várias modificações e funcionalidades personalizadas para dar suporte à carga de trabalho da frota.
A principal vantagem dessa estrutura é sua capacidade de compilar plug-ins diretamente no agendador. Sua API facilita a implementação de diversos recursos de agendamento como plug-ins, garantindo um núcleo leve e sustentável.
O agendador de frota integra os seguintes plug-ins internos fundamentais:
- Plug-in de distribuição de topologia: dá suporte à
TopologySpreadConstraints
na política de posicionamento. - Plug-in de afinidade de cluster: facilita a cláusula de afinidade na política de posicionamento.
- Mesmo plug-in de afinidade de posicionamento: projetado especificamente para a frota e impede que várias réplicas sejam colocadas no mesmo cluster.
- Plug-in de qualificação do cluster: habilita a seleção de cluster com base em critérios de status específicos.
- Plugin Taint e tolerâncias: Permite a seleção de cluster com base em taints no cluster e tolerâncias no
ClusterResourcePlacement
.
Para obter mais informações, confira a documentação da Estrutura de Agendamento de Frotas de código aberto.
Próximas etapas
Azure Kubernetes Service