Sobes.tech
Middle — Middle+

¿Cómo se puede gestionar dinámicamente el número de contenedores en Kubernetes en función de la carga del sistema?

sobes.tech AI

Respuesta de la IA

En Kubernetes, para gestionar dinámicamente el número de contenedores (réplicas de pods) en función de la carga, se utiliza el Horizontal Pod Autoscaler (HPA). El HPA escala automáticamente el número de pods en un Deployment, ReplicaSet o StatefulSet basado en métricas como el uso de CPU, memoria o métricas personalizadas.

Ejemplo de configuración del HPA, que escala el número de pods según la carga de CPU:

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

Aquí, el HPA mantendrá la carga media de CPU en torno al 50%, aumentando o disminuyendo el número de pods en un rango de 1 a 10.

También se puede usar el Vertical Pod Autoscaler (VPA) para modificar los recursos del pod, pero para escalar el número de réplicas, el HPA es la mejor opción.