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.