HorizontalPodAutoscaler - масштабирование развертывания в другом пространстве имен - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь настроить автомасштабирование с помощью пользовательских метрик.

В настоящее время у меня есть:

  • Оператор Прометея , работающий в 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 все существуют в одном пространстве имен?

1 Ответ

0 голосов
/ 26 июня 2018

Да, Deployment, который вы хотите масштабировать, должен находиться в том же пространстве имен с HorizontalPodAutoscaler объектом.

Вот выдержка из документации Kubernetes :

Пространства имен предоставляют область имен.Имена ресурсов должны быть уникальными в пределах пространства имен, но не в разных пространствах имен.

Значение Namespace объекта HorizontalPodAutoscaler - единственный способ предоставить информацию о пространстве имен развертывания, которое вы хотитев масштабе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...