Conceito – Opções de escala do Kubernetes

Concluído

Às vezes, escalar o número de pods para administrar o aumento da demanda não é suficiente. Para se ajustar às mudanças nas demandas de aplicativo, como entre a jornada de trabalho e a noite ou em um fim de semana, os clusters geralmente precisam de uma maneira de serem dimensionados automaticamente.

Opções de dimensionamento do Kubernetes

Os clusters do Kubernetes podem ser dimensionados usando um dos seguintes componentes:

  • O Dimensionador Automático de Clusters, que inspeciona os pods que não podem ser agendados em nós devido a restrições de recursos. O cluster aumenta automaticamente o número de nós para atender à demanda.
  • O Dimensionador Automático Horizontal de Pods (HPA), que usa o Servidor de Métricas em um cluster do Kubernetes para monitorar a demanda de recursos dos pods. Se um aplicativo precisar de mais recursos, o número de pods será automaticamente aumentado para atender à demanda.

Tanto o HPA quanto o Dimensionador Automático de Clusters também podem reduzir o número de pods e de nós conforme necessário. O Dimensionador Automático de Cluster diminui o número de nós, quando há um período com capacidade não utilizada. Todos os pods em um nó que o Dimensionador Automático de Clusters precisa remover são agendados com segurança em outro lugar do cluster.

O Dimensionador Automático de Clusters pode não conseguir reduzir verticalmente em situações em que os pods não podem ser movidos, tais como:

  • Um pod é criado diretamente e não tem o suporte de um objeto de controlador, como uma Implantação ou um ReplicaSet.
  • Um PDB (orçamento de interrupção de pod) é muito restritivo e não permite que o número de pods fique abaixo de determinado limite.
  • Um pod usa seletores de nó ou uma antiafinidade que não pode ser cumprida se ele está agendado em outro nó.

Como usar o KEDA com o HPA

O KEDA atua como uma API de métricas personalizadas, usando dimensionadores para expor métricas ao HPA e simplificando o processo de desenvolvimento de um servidor de métricas.

Os dimensionadores ajudam a fornecer métricas de várias fontes de dados para o HPA. O KEDA dá suporte a uma ampla variedade de dimensionadores, incluindo:

  • Apache Kafka
  • AWS CloudWatch
  • AWS Kinesis Stream
  • Fila do AWS SQS
  • Armazenamento do Blobs do Azure
  • Hubs de eventos do Azure
  • Azure Log Analytics
  • Azure Monitor
  • Barramento de Serviço do Azure
  • Fila de Armazenamento do Azure
  • Pub/Sub da Google Cloud Platform‎
  • IBM MQ
  • InfluxDB
  • NATS Streaming
  • OpenStack Swift
  • PostgreSQL
  • Prometheus
  • Fila RabbitMQ
  • Listas do Redis

Para obter a lista completa, confira Dimensionadores do KEDA disponíveis atualmente.

Verificar seus conhecimentos

1.

Sua carga de trabalho executa uma transformação de fotos com uso intensivo de CPU. Qual opção de dimensionamento você deve escolher?

2.

Seu cluster está perto de usar todos os recursos disponíveis durante os horários de pico. Qual opção de dimensionamento você deve usar?

3.

Seu serviço processa as mensagens de uma fila de espera do Apache Kafka. Qual opção de dimensionamento você deve escolher?