Масштабирование развертывания HPA до 0 на GKE
Я пытаюсь использовать HPA с внешними метриками, чтобы уменьшить развертывание до 0. Я использую GKE с версией 1.16.9-gke.2.
В соответствии с этим я думал, что это будет работать, но это не так. Я все еще сталкиваюсь с: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 ответ
В соответствии с этим я думал, что это будет работать, но это не так.
Тот факт, что некоторые функции работают в Kubernetes, не означает, что они включены в управляемых решениях, таких как GKE
.
Эта функция включается функцией ворот, называемойHPAScaleToZero
. Он находится вAlpha
state начиная с версии 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
включен. Это влечет за собой запуск альфа- кластера:
Термин альфа-кластер означает, что альфа-интерфейсы API включены как для Kubernetes, так и для GKE, независимо от версии Kubernetes, в которой работает кластер. Периодически Google предлагает клиентам возможность тестировать версии GKE, которые обычно недоступны, для тестирования и проверки.
Имейте в виду, что работающий альфа- кластер имеет ряд недостатков:
Ограничения
Альфа-кластеры имеют следующие ограничения:
- Не покрывается GKE SLA
- Не может быть обновлен
- Автоматическое обновление и автоматическое восстановление узла отключены на альфа-кластерах.
- Автоматически удаляется через 30 дней
- Не получать обновления безопасности