Skip to content

Latest commit

 

History

History
39 lines (32 loc) · 1.52 KB

File metadata and controls

39 lines (32 loc) · 1.52 KB

Escalando Horizontalmente um deployment

Vamos agora mostrar como um HorizontalPodAutoscaler (HPA) pode ser utilizado para escalar o deployment automaticamente por métricas como CPU, memória, etc...

A criação de Services é feita utilizando-se arquivos YAML, como o que está listado a seguir:

apiVersion: autoscaling/v2 # Obrigatorio, versão da API do Kubernetes que contém esse recursos
kind: HorizontalPodAutoscaler # Tipo de recurso (HPA)
metadata:
  name: pod-info-hpa #Nome do recurso
spec: # Especificação do recurso
  scaleTargetRef: # Referencia a objeto que será escalado
    apiVersion: apps/v1 # API do objeto a ser escalado
    kind: Deployment # Tipo do objeto a ser escalado
    name: pod-info-deployment # Nome do objeto a ser escalado
  minReplicas: 4 # Numero minimo de replicas, deve ser o mesmo do numero de replicas do deployment
  maxReplicas: 10 # Numero máximo de replicas
  metrics: # Metrica usada para escalar
  - type: Resource # Tipo de métrica
    resource: # Recurso usado
      name: cpu # EScalar por CPU, quando a utilização média estiver acima de 50%
      target:
        type: Utilization
        averageUtilization: 50

Para aplicar esse arquivo no cluster, deve-se usar o comando apply, passando-se o arquivo e o nome do namespace onde será rodado.

kubectl apply -f pod-info-hpa.yaml --namespace=my-namespace

Para listar o recurso criado, deve-se rodar o comando:

kubectl get hpa --namespace=my-namespace