У нас есть кластер Kubernetes (AWS EKS) с множеством идентичных микро-рабочих нагрузок. Разработчики используют их для тестирования функций, прежде чем они попадут в стадию. К этим рабочим нагрузкам подключаются внешние устройства. Топология действительно проста:

External device -> Classic Loadbalancer-> NodePort service -> Statefulset

Когда разработчики завершат свою работу, рабочие нагрузки больше не используются. Я обозначаю рабочую нагрузку как неиспользуемую, если нет подключений по пути, описанному выше. То есть нет подключений от внешнего устройства.

Есть ли какой-либо механизм, плагин или что-то еще, что может отслеживать / измерять входящий трафик для службы или модуля Kubernetes? Я мог бы, основываясь на количестве подключений, решить, удалять ли рабочую нагрузку.

0
Łukasz 6 Дек 2019 в 08:48

2 ответа

Kiali позволяет отслеживать трафик сервисной сети (если вы используете Istio).

Вы могли видеть, сколько трафика идет на какой сервис и на какие поды.

kiali service graph

1
char 6 Дек 2019 в 16:43
Спасибо, я попробую.
 – 
Łukasz
6 Дек 2019 в 20:15

Большинство инструментов мониторинга для мониторинга трафика в кластере Kubernetes вы можете найти здесь: мониторинг трафика.

Я настоятельно рекомендую вам использовать Prometheus.

Он собирает метрики от настроенных целей через заданные интервалы, оценивает выражения правил, отображает результаты и может запускать предупреждения, если соблюдается какое-либо условие.

Есть много вариантов интеграции с инструментами, например. Grafana для представления и обобщения собранной информации.

Вы также можете использовать Jaeger, систему отслеживания, выпущенную Uber Technologies; он используется для устранения неполадок и мониторинга транзакций в сложных распределенных системах.

Ознакомьтесь с полезной статьей: monitorig.

0
MaggieO 9 Дек 2019 в 16:46