Sobes.tech
Middle — Middle+

Como gerir dinamicamente o número de containers no Kubernetes dependendo da carga do sistema?

sobes.tech IA

Resposta da IA

No Kubernetes, para gerir dinamicamente o número de contêineres (réplicas de pods) consoante a carga, utiliza-se o Horizontal Pod Autoscaler (HPA). O HPA ajusta automaticamente o número de pods num Deployment, ReplicaSet ou StatefulSet com base em métricas como utilização de CPU, memória ou métricas personalizadas.

Exemplo de configuração do HPA, que ajusta o número de pods consoante a carga de CPU:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: exemplo-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: exemplo-deploy
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50

Aqui, o HPA manterá a carga média de CPU em torno de 50%, aumentando ou diminuindo o número de pods numa faixa de 1 a 10.

Também é possível usar o Vertical Pod Autoscaler (VPA) para alterar os recursos do pod, mas para escalar o número de réplicas, o HPA é a melhor opção.