Skip to main content

Autoscaling

O Autoscaling representa o paradigma de capacidade elástica dentro do produto de Kubernetes da Magalu Cloud, sendo fundamental para a otimização de recursos das aplicações e custo de infraestrutura. O mecanismo baseia-se na atuação do componente Cluster Autoscaler (CA). Ao identificar Pods em estado pendente (Pending) devido à insuficiência de recursos ou, também, a subutilização de recursos (Node Pools com recursos sobressalentes), o CA coordena o provisionamento automático de Nodes no respectivo Node Pool, sempre respeitando os limites mínimo e máximo configurados para garantir a responsividade durante picos de demanda e a eficiência de custos em momentos de baixa atividade.

Ao optar por um Node Pool com Autoscaling ativado, você deverá informar alguns parâmetros:

  • Número inicial de réplicas (replicas): a quantidade de Nodes no Node Pool para serem criados.
  • Número mínimo de réplicas (min_replicas): número mínimo de réplicas, que pode ser 0.
  • Número máximo de réplicas (max_replicas): número máximo de réplicas gerenciadas pelo Node Pool.

O produto de Kubernetes da MGC suporta escalar Node Pools para 0 réplicas (scale to zero). Para isso, marque o campo min_replicas para 0.

Para desescalar completamente um Node Pool para 0 réplicas, marque ambos os campos replicas e min_replicas para 0.

  1. Na tela do produto Kubernetes, escolha o Cluster desejado.
  2. Selecione a aba "Node Pools".
  3. Clique em "Criar Node Pool".
  4. Informe o nome do Node Pool.
  5. Caso deseje, escolha a opção para utilizar máquinas virtuais com GPU.
  6. Escolha o tipo de instância para o Node Pool.
  7. Escolha a opção "Autoscale".
  8. Definida o número inicial, mínimo e máximo de réplicas.
  9. Clique em "Criar Node Pool".
  10. Na tela de listagem de Node Pools, aguarde até que o status do Node Pool esteja como Criado.

Agora, caso haja Pods em estado pendente (Pending) em seu Cluster devido a falta de recursos computacionais, o Node Pool será escalado até que não haja mais Pods nesse estado ou que o número máximo de réplicas seja atingido.

Da mesma forma, caso haja recursos computacionais sobressalentes e nenhum Pod em estado pendente, o Node Pool será desescalado para comportar os Pods de maneira eficiente até chegar no número mínimo de réplicas.