Кубернетес - интервал увеличения - PullRequest
0 голосов
/ 24 сентября 2019

Я использую Kubernetes в GCP.Я масштабирую свои модули, используя показатели размера очереди, загруженные в Cloud Monitoring.

Проблема: Kubernetes масштабирует модули за очень короткие промежутки времени.Около 12-15 секунд между каждой шкалой вверх.Моим машинам требуется около 30 секунд для загрузки.Мне бы хотелось, чтобы интервалы увеличения были близки к 30.

Добавление

spec: minReadySeconds: 30

в развертывание yaml не работало.

Пример hpa:

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: <NAME>
  namespace: <NAMESPACE>
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: <DEPLOYMENT>
  minReplicas: <MIN_REPLICAS>
  maxReplicas: <MAX_REPLICAS>
  metrics:
  - type: External
    external:
      metricName: "custom.googleapis.com|rabbit_mq|<QUEUE>|messages_count"
      metricSelector:
        matchLabels:
          metric.labels.name: <NAMESPACE>
      targetValue: <TARGETVALUE>

Есть ли способ контролировать этот интервал увеличения?

1 Ответ

2 голосов
/ 24 сентября 2019

Задержки между масштабами определяются внутренне алгоритмом HPA.

Из документации :

Начиная с версии 1.1.12, новыйалгоритмическое обновление устраняет необходимость в задержке увеличения.

Кажется, раньше это был настраиваемый параметр, но теперь алгоритм пытается проявить смекалку и самостоятельно решить, как быстро масштабировать ваше приложение..

Чтобы быть уверенным в том, как это делает HPA и как вы можете на него повлиять, вы можете проверить код .

...