O Que É um Runner Pool? Um Conjunto Gerenciado de Runners Compartilhados
Um runner pool é uma coleção gerenciada de runners de onde os jobs retiram sob demanda, em vez de cada job estar amarrado a uma máquina específica.
Em vez de mapear jobs para máquinas nomeadas, o CI moderno trata os runners como um pool fungível: um job pega qualquer runner disponível do pool, roda e o devolve (ou, para runners efêmeros, o pool o substitui). Pools são a unidade sobre a qual o autoscaling opera.
Pool vs runner único
Um runner único atende um job por vez. Um pool agrega muitos runners para que o sistema possa atender jobs concorrentes e decidir, por job, qual runner usar - nenhum job fica fixado a uma máquina em particular.
Pool vs warm pool
Um runner pool é o conjunto geral de runners disponíveis para os jobs. Um warm pool é especificamente o subconjunto mantido pré-inicializado e ocioso para que os jobs comecem instantaneamente. Um warm pool é uma estratégia de prontidão aplicada a um runner pool.
Por que pools habilitam autoscaling
Como os jobs retiram de um pool em vez de máquinas fixas, a plataforma pode crescer e encolher o pool livremente com a demanda. Pools são o que tornam possível o scale-up, o scale-down e o scale-to-zero.
Pools por tipo de runner
Plataformas tipicamente mantêm pools separados por tamanho de runner e SO (Linux pequeno, Linux grande, GPU, etc.), cada um autoscaled independentemente, para que um label roteie um job para o pool certo com a capacidade certa.
Pools em runners gerenciados
Uma plataforma gerenciada roda esses pools para você, dimensionando e escalando cada um para que a capacidade certa esteja pronta para cada label. Na Latchkey você apenas direciona um tamanho de runner e o pool correspondente atende o job - você nunca provisiona nem balanceia os pools por conta própria.
Principais conclusões
- Um runner pool é um conjunto gerenciado de runners de onde os jobs retiram sob demanda.
- Pools desacoplam jobs de máquinas específicas, habilitando concorrência.
- Um warm pool é o subconjunto pré-inicializado de um runner pool.
- Pools são a unidade que o autoscaling cresce e encolhe.