Istio часть 1: Маршрутизация трафика

Сегодня рассмотрим, что такое Istio, и как его использовать. Для начала разберемся, что такое Service Mesh, и кому он нужен. Service Mesh  (с англ. «сервисная сетка») — слой архитектуры, отвечающий за надежную доставку запросов через сложную сеть микросервисов. Когда ваше приложение выросло из монолита в микросервисную архитектуру, то с каждым днем становится все сложнее ею управлять и мониторить. В таком случае вам необходимо переходить на решения, которые решают часть проблем, связанных с микросервисами: балансировка нагрузки внутри микросервисной сетки; обнаружение сервисов (Service discovery); восстановление после сбоев (Failure recovery); метрики; мониторинг. Также решают более сложные задачи: A/B тестирование; канареечные выкатки (Canary rollouts); […]

Prometheus Operator

Prometheus Operator использует CRD (Custom Resource Definitions) для генерирования конфигурационных файлов и определения ресурсов Prometheus alertmanagers — определяет инсталяцию для Alertmanager podmonitors — определяюет какие поды  как нужно мониторить prometheuses — определяет инсталяцию для Prometheus prometheusrules — определяет правила для alertmanager servicemonitors — определяюет какие сервисы  как нужно мониторить Оператор следит за ресурсами Prometheus и генерирует StatefullSet (Prometheus и Alertmanager)  и файлы конфигурации  (prometheus.yaml, alertmanager.yaml) Так же оператор следит за ресурсами из ServiceMonitors, PodMonitors и ConfigMaps, генерируя на их основании prometheus.yaml Prometheus Pod в поде Prometheus запущенны 3 контейнера: Prometheus prometheus-config-reloader — надстройка к prometheus которая следит за изменениями в […]