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.