Sobes.tech
Middle — Middle+

Ինչպե՞ս կարող ենք դինամիկ կառավարել Kubernetes-ում կոնտեյներների քանակը համակարգի բեռի վրա հիմնվելով։

sobes.tech AI

Պատասխան AI-ից

Kubernetes-да, բովանդակային կոնտեյների (պոդների ռեպլիկաների) թվի դինամիկ կառավարման համար օգտագործվում է Horizontal Pod Autoscaler (HPA)։ HPA ավտոմատ կերպով ընդլայնում կամ կրճատում է պոդների թիվը Deployment, ReplicaSet կամ StatefulSet-ում, հիմնվելով մետրիկների վրա, ինչպիսիք են CPU-ի բեռնվածությունը, հիշողությունը կամ անհատական մետրիկները։

HPA կոնֆիգուրացիայի օրինակ, որը ընդլայնում կամ կրճատում է պոդների թիվը CPU-ի բեռնվածության հիման վրա՝

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: օրինակ-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: օրինակ-դեպլոյմենտ
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50

Այստեղ HPA-ն պահպանում է CPU-ի միջին բեռնվածությունը 50%-ի վրա, ավելացնելով կամ նվազեցնելով պոդների թիվը 1-ից մինչև 10։

Նույնպես, կարող է օգտագործվել Vertical Pod Autoscaler (VPA)՝ պոդի ռեսուրսները փոխելու համար, բայց ռեպլիկաների թվի ընդլայնման համար HPA-ն լավագույն ընտրությունն է։