Service mesh

Простыми словами

Если приложение состоит из многих сервисов, их соединениями приходится управлять согласованно. Сервисная сетка позволяет задавать общие правила и видеть, какие компоненты обращаются друг к другу, без повторения всей этой логики в каждом сервисе.

Возможности зависят от реализации. Трафик могут обрабатывать отдельные прокси рядом с приложениями или общие компоненты инфраструктуры. Наличие mesh ещё не доказывает, что каждое соединение зашифровано и разрешено правильной политикой.

Как применяется

Service mesh применяют при постепенном выпуске версий, контроле внутренних соединений и разборе сбоев распределённого приложения. Он помогает сопоставлять ошибки и задержки с конкретными маршрутами и правилами взаимодействия.

Для ИБ важны идентификация рабочих нагрузок, взаимная аутентификация, ограничения доступа и управление сертификатами. Проверяют также соединения, обходящие mesh. Сетка не заменяет авторизацию пользователя внутри приложения и защиту узлов.

Пример применения

В приложении сервис заказов обращается к сервису оплаты. Команда включает для этого соединения обязательный mTLS и разрешает вызов только нужной сервисной идентичности.

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

Не путать с

  • API gatewayОбычно организует вход в API и обработку запросов на границе. Service mesh прежде всего управляет взаимодействием сервисов внутри системы.
  • NetworkPolicyОграничивает сетевые соединения Pod при поддержке сетевого компонента. Mesh может учитывать сервисную идентичность и прикладные правила; уровни контроля дополняют друг друга.
  • Кластер KubernetesПредоставляет среду запуска рабочих нагрузок. Mesh добавляет управление соединениями и может охватывать несколько кластеров или виртуальные машины.

Как это работает

  1. Описать связиОпределяют сервисы, их идентичности и необходимые обращения. Учитывают входящий трафик и внешние зависимости.
  2. Подключить обработкуНастраивают компоненты mesh и выпуск идентичностей. Проверяют, какой трафик действительно проходит через слой управления.
  3. Применить политикиЗадают аутентификацию, разрешённые вызовы и маршруты. Изменения сначала проверяют на ограниченном окружении.
  4. Проверить обходы и сбоиТестируют разрешённые и запрещённые соединения, обновление сертификатов и поведение при недоступности управляющих компонентов.

Продолжить изучение

Связанные термины

Частые вопросы

Mesh автоматически включает шифрование везде?

Не обязательно. Это зависит от режима, политик и охвата сервисов. Нужны проверки реальных соединений, включая трафик, который проходит вне mesh.

Service mesh заменяет аутентификацию пользователя?

Нет. Идентичность сервисов и права конечного пользователя решают разные задачи. Приложение по-прежнему проверяет, кому доступны конкретные данные и операции.

Mesh нужен любому приложению?

Нет. При небольшом числе сервисов его эксплуатационная сложность может превышать пользу. Решение принимают по требованиям к связям, выпуску, наблюдаемости и контролю доступа.

Service mesh — инфраструктурный слой управления взаимодействием сервисов, который обеспечивает маршрутизацию, наблюдаемость и применение политик соединений независимо от основной бизнес-логики приложения.