As instâncias Fleet da Distributed Cloud Container Platform for Kubernetes (ACK One) oferecem o recurso de distribuição de jobs para cenários multi-cluster e de nuvem híbrida, permitindo agendar e distribuir workloads de IA de forma centralizada. Se um único cluster do Container Service for Kubernetes (ACK) não atender aos requisitos de recursos para tarefas de treinamento ou inferência de IA em grande escala, ou se houver recursos ociosos em vários clusters ACK, use esse recurso para distribuir jobs entre os clusters e otimizar a utilização de recursos.
Recursos
A distribuição de jobs multi-cluster do ACK One oferece as seguintes capacidades:
Suporte a múltiplos tipos de job: Compatibilidade com os frameworks PyTorchJob, SparkApplication e TFJob.
Gang scheduling multi-cluster: Distribui jobs entre clusters por meio de pré-alocação de recursos ou verificações dinâmicas. Isso garante a implantação bem-sucedida das tarefas nos subclusters e melhora a eficiência geral do agendamento.
Gerenciamento de cotas multilocatário: Aplica limites de recursos por locatário usando cotas de namespace baseadas em ElasticQuotaTree em ambientes multilocatário.
Agendamento baseado em prioridade: Prioriza tarefas importantes na alocação de recursos com base na
PriorityClassdefinida noPodTemplatepara jobs de IA.Configuração flexível de políticas de fila: Permite definir políticas de fila adaptáveis para otimizar a utilização do cluster e garantir a prioridade das tarefas, com suporte a padrões de agendamento bloqueantes e não bloqueantes.
Reagendamento automático em caso de falha: O Global Scheduler recupera automaticamente jobs com falha e os reagenda em clusters elegíveis que possuam recursos suficientes.
Como funciona
Envio do job: Envie jobs do tipo PyTorchJob, SparkApplications ou TFJob com a política de distribuição
PropagationPolicypara a instância Fleet.Validação de prioridade e cota: A instância Fleet executa o agendamento de capacidade com base nas prioridades dos jobs e nas cotas dos locatários.
Agendamento global: O Global Scheduler na instância Fleet aplica agendamento dinâmico de recursos multi-cluster e gang scheduling para jobs retirados da fila, reservando recursos ou verificando dinamicamente clusters elegíveis. Se o agendamento falhar, o job retorna à fila.
Distribuição do job: Os jobs agendados com sucesso são propagados para os clusters ACK designados.
Nova tentativa após falha: Caso um job falhe em um subcluster, o Global Scheduler o recupera e o reagenda em outros clusters elegíveis.