Sobes.tech
Middle — Middle+

Kaip dinamiškai valdyti Kubernetes konteinerių skaičių priklausomai nuo sistemos apkrovos?

sobes.tech AI

Atsakymas iš AI

Kubernetes'e, norint dinamiškai valdyti konteinerių (podų replikų) skaičių priklausomai nuo apkrovos, naudojamas Horizontal Pod Autoscaler (HPA). HPA automatiškai skaluoja podų skaičių Deployment, ReplicaSet ar StatefulSet pagal metrikas, tokias kaip CPU apkrova, atmintis ar pritaikytos metrikos.

Pavyzdys HPA konfigūracijos, kuri skaluoja podų skaičių pagal CPU apkrovą:

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

Čia HPA palaikys CPU vidutinį naudojimą 50%, didindamas arba mažindamas podų skaičių nuo 1 iki 10.

Taip pat galima naudoti Vertical Pod Autoscaler (VPA), kad keistų podų resursus, tačiau replikų skaičiaus skalavimui HPA yra geriausias pasirinkimas.