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: primer-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: primer-deployment
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 е най-подходящият избор.