Os clusters ACS expõem recursos como nós virtuais; portanto, você trabalha com regras de orquestração em vez da capacidade bruta dos nós. Esta página relaciona requisitos comuns de agendamento — distribuição por zona de disponibilidade, colocalização de cargas de trabalho, coordenação de jobs em lote e isolamento de recursos multilocatários — às políticas de agendamento do ACS correspondentes. Assim, é possível escolha a política adequada sem ler todos os guias vinculados.
Políticas de agendamento nativas do Kubernetes
O agendador do Kubernetes oferece diversos plug-ins. Em nós virtuais do ACS, as políticas baseadas em afinidade são as mais relevantes para controlar o posicionamento de pods e atender aos requisitos de desempenho e alta disponibilidade.
|
Política |
Funcionalidade |
Referência |
|
Restrições de distribuição de topologia |
Especifique um rótulo em um nó virtual no campo |
Usar restrições de distribuição de topologia para distribuir pods entre zonas |
|
Afinidade de nó |
Adicione rótulos aos nós virtuais para representar atributos como zona de disponibilidade. Referencie esses rótulos em |
|
|
Afinidade entre pods |
Controle o posicionamento de pods com base nos rótulos de pods já em execução nos nós. Use |
Agendamento de recursos com base em prioridades personalizadas
Se o cluster execute vários tipos de classes de computação, classifique-os por preferência. Quando o tipo de maior prioridade estiver esgotado, o agendador tentará automaticamente o próximo tipo da lista. Essa abordagem beneficia cargas de trabalho sensíveis a custos que preferem instâncias best-effort, mas ainda precisam ser executadas quando estas não estiverem disponíveis.
|
Política |
Funcionalidade |
Referência |
|
Agendamento de recursos com base em prioridades personalizadas |
Especifique várias classes de computação ou classes de QoS de computação para um pod. Se os recursos estiverem esgotados, o agendador tentará crie pods de outros tipos. |
Agendamento de recursos com base em prioridades personalizadas |
Agendamento de jobs
Cargas de trabalho em lote e de IA têm requisitos diferentes dos serviços de longa duração. Um job de treinamento de IA geralmente exige que todos os pods iniciem simultaneamente, pois a inicialização parcial do grupo desperdiça recursos sem gerar progresso. Em clusters compartilhados entre equipes, os limites de recursos por namespace impedem que uma única carga de trabalho consuma recursos excessivos e prejudique as demais.
|
Política |
Funcionalidade |
Quando usar |
Referência |
|
Gang scheduling |
Aloca recursos para todo um grupo de pods como um lote. Se o cluster não conseguir atender à solicitação completa, todos os pods do grupo permanecerão no estado Pending. |
Jobs de computação de alto desempenho (HPC) e treinamento de IA — por exemplo, jobs Message Passing Interface (MPI) — nos quais todas as réplicas devem iniciar antes que o job possa progredir. |
|
|
Capacity scheduling |
Define limites de capacidade de recursos por namespace. |
Clusters compartilhados por várias equipes ou aplicações, quando for necessário garantir uma alocação mínima de recursos para cada grupo e evitar uso excessivo. |