Масштабирование развертывания HPA до 0 на GKE - PullRequest
1 голос
/ 16 июня 2020

Я пытаюсь использовать HPA с внешними метриками, чтобы уменьшить развертывание до 0. Я использую GKE с версией 1.16.9-gke.2.

Согласно this Я думал, что это сработает, но это не так. Я все еще сталкиваюсь с: The HorizontalPodAutoscaler "classifier" is invalid: spec.minReplicas: Invalid value: 0: must be greater than or equal to 1

Ниже мое определение HPA:

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: classifier
spec:
  minReplicas: 0
  maxReplicas: 15
  metrics:
  - external:
      metricName: loadbalancing.googleapis.com|https|request_count
      targetAverageValue: "1"
    type: External
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: classifier

Большое спасибо за вашу помощь!

1 Ответ

3 голосов
/ 17 июня 2020

Согласно this Я думал, что это будет работать, но это не так.

Тот факт, что некоторые функции работают в Kubernetes, не означает что они включены в управляемых решениях, таких как GKE.

Эта функция включается шлюзом , называемым HPAScaleToZero. Он находится в состоянии Alpha, начиная с версии Kubernetes 1.16. По умолчанию он отключен по ссылке ниже. Пожалуйста, ознакомьтесь с официальной документацией по воротам функций здесь: Kubernetes.io: Docs: Feature Gates

Далее:

Список новых функций в Kubernetes как Alpha, Beta или Stable, в зависимости от их статуса в разработке. В большинстве случаев функции Kubernetes, указанные как бета-версии или стабильные, включены в GKE

Cloud.google.com: Kubernetes Engine: версии и функции Kubernetes

Как видите:

The HorizontalPodAutoscaler "classifier" is invalid: spec.minReplicas: Invalid value: 0: must be greater than or equal to 1

Эта функция отключена в «стандартных» кластерах GKE.

Существует возможность включить HPAScaleToZero. Это влечет за собой запуск кластера alpha :

Термин «альфа-кластер» означает, что альфа-интерфейсы включены как для Kubernetes, так и для GKE, независимо от версии Kubernetes, в которой работает кластер. Периодически Google предлагает клиентам возможность тестировать версии GKE, которые обычно недоступны, для тестирования и проверки.

Cloud.google.com: Kubernetes Engine: Альфа-кластеры

Имейте в виду, что запущенный кластер alpha имеет ряд недостатков:

Ограничения

Альфа-кластеры имеют следующие ограничения :

  • Не покрывается GKE SLA
  • Не может быть обновлено
  • Автоматическое обновление и автоматическое восстановление узла отключены на альфа-кластерах
  • Автоматически удаляется через 30 дней
  • Не получать обновления безопасности
...