Middle — Middle+
Come gestire dinamicamente il numero di container in Kubernetes in base al carico del sistema?
sobes.tech AI
Risposta dell'AI
In Kubernetes, per gestire dinamicamente il numero di container (repliche di pod) in base al carico si utilizza l'Horizontal Pod Autoscaler (HPA). L'HPA scala automaticamente il numero di pod in un Deployment, ReplicaSet o StatefulSet in base a metriche come l'utilizzo della CPU, della memoria o metriche personalizzate.
Esempio di configurazione dell'HPA, che scala il numero di pod in base al carico della CPU:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: esempio-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: esempio-deployment
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
Qui, l'HPA manterrà il carico medio della CPU intorno al 50%, aumentando o diminuendo il numero di pod tra 1 e 10.
È anche possibile usare il Vertical Pod Autoscaler (VPA) per modificare le risorse del pod, ma per scalare il numero di repliche, l'HPA è la scelta migliore.