Я пытаюсь настроить автомасштабирование с помощью пользовательских метрик.
В настоящее время у меня есть:
- Оператор Прометея , работающий в
monitoring
пространство имен. - Адаптер Prometheus K8S , работающий в пространстве имен
custom-metrics
, предоставляемый через службу с именем api
. - Развертывание, выполняемое в пространстве имен
my-namespace
.
Я добавил HorizontalPodAutoscaler
в пространство имен custom-metrics
, ориентируясь на мое развертывание.
YAML выглядит следующим образом:
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: my-deployment-hpa
namespace: custom-metrics
spec:
maxReplicas: 10
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1beta2
kind: Deployment
name: my-deployment
metrics:
- type: Object
object:
metricName: queue_length
targetValue: 1000
target:
apiVersion: extensions/v1beta1
kind: Service
name: api
Когда я описываюHorizontalPodAutoscaler
через kubectl describe hpa my-deployment-hpa -n custom-metrics
, я вижу AbleToScale: False
, потому что FailedGetScale the HPA controller was unable to get the target's current scale: deployments/scale.extensions "my-deployment" not found
.
Ожидает ли Kubernetes, что API пользовательских метрик, масштабная цель и HorizontalPodAutoscaler
все существуют в одном пространстве имен?