Skip to content
Latchkey

O Que É o Actions Runner Controller (ARC)?

O Actions Runner Controller (ARC) é um operador do Kubernetes que faz autoscaling de runners self-hosted como pods efêmeros com base na demanda de jobs.

Manter um pool fixo de runners self-hosted desperdiça dinheiro quando ocioso e enfileira jobs quando ocupado. O ARC resolve isso criando e destruindo pods de runner no Kubernetes conforme a demanda dos workflows sobe e desce.

O que é

O ARC é um operador open-source do Kubernetes, criado pelo GitHub. Ele monitora jobs enfileirados e escala pods de runner para cima e para baixo, cada pod normalmente executando um único job efêmero.

Como funciona

Você define um runner scale set no Kubernetes. O ARC registra os runners no GitHub e, quando os jobs entram na fila, ele sobe pods para executá-los, derrubando cada um depois para que todo job receba um ambiente limpo.

Compensações

  • Prós: autoscaling, isolamento efêmero, nativo do Kubernetes.
  • Contras: você opera o Kubernetes, o controlador e o ajuste do scaling.
  • Cold starts e gerenciamento de imagens exigem atenção.

Por que importa

O ARC oferece capacidade self-hosted elástica, mas adiciona complexidade operacional significativa. Plataformas gerenciadas como o Latchkey entregam o mesmo autoscaling e runners efêmeros e com autocorreção sem que você opere um plano de controle do Kubernetes.

Conceitos relacionados

O ARC gerencia runners self-hosted, muitas vezes organizados em runner groups, e é uma alternativa a um pool de runners estático.

Principais conclusões

  • O ARC faz autoscaling de runners self-hosted como pods do Kubernetes.
  • Os pods são efêmeros, dando a cada job um ambiente limpo.
  • É poderoso, mas você opera a stack do Kubernetes.

Guias relacionados