Как получить данные о задержке балансировщика нагрузки в стекдрайвере? - PullRequest
0 голосов
/ 18 октября 2019

У меня есть простое весеннее загрузочное приложение, развернутое в Kubernetes на GCP. Я хочу, чтобы пользователь автоматически масштабировал приложение, используя порог задержки (время отклика). Stackdriver имеет набор показателей для балансировки нагрузки. Подробную информацию о метриках можно найти в этой ссылке .

Я выставил свое приложение на внешний IP-адрес с помощью следующей команды

kubectl expose deployment springboot-app-new --type=LoadBalancer --port 80 --target-port 9000

Я использовал этот Проводник API для просмотра метрик. Код ответа - 200, но ответ пуст. Я использовал фильтр метрик metric.type = "loadbalancing.googleapis.com/https/backend_latencies"

Вопрос

  1. Почему я не получаю ничего в ответе? Я делаю какую-либо ошибку?
  2. Я уже включил Stackdriver API. Есть ли какие-либо другие настройки, чтобы получить ответ?

1 Ответ

1 голос
/ 21 октября 2019

Как упоминалось в комментариях , метрика, которую вы пытаетесь использовать, относится к балансировщику нагрузки HTTP (S), а тип LoadBalancer при использовании в GKE развернет Балансировщик сетевой нагрузки вместо.

Причина, по которой вы не можете найти его показатели с помощью страницы мониторинга Stackdriver, заключается в том, что ссылка, указанная в комментарии, соответствует загрузке TCP / SSL Proxyбалансировочная (уровень 7) документация вместо Network Load Balancer (уровень 4), который уже создан в вашем кластере, и на данный момент Network Load Balancer не будет отображатьсяиспользуя страницу мониторинга Stackdriver.

Однако был создан запрос функции , чтобы включить эту функцию в панели мониторинга.

Если вам нужен этот конкретный показатель(loadbalancing.googleapis.com/https/backend_latencies), может быть лучше выставить ваше развертывание, используя Ingress вместо типа LoadBalancer. Это автоматически создаст балансировщик нагрузки HTTP (S) с включенным мониторингом вместо текущего Балансировщика сетевой нагрузки.

...