Какой у вас опыт работы с Service Mesh?

«Какой у вас опыт работы с Service Mesh?» — вопрос из категории Архитектура и DevOps-практики, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Мой опыт работы с Service Mesh сосредоточен на Istio и Linkerd в Kubernetes-средах. Я занимался:

  • Внедрением и настройкой: Развертывание control plane и sidecar-прокси (Envoy) для управления трафиком между микросервисами.
  • Управлением трафиком: Настройка правил маршрутизации для canary- и blue-green-развертываний через VirtualService и DestinationRule. Реализация отказоустойчивости с retries, timeouts и circuit breakers.
  • Безопасностью: Внедрение взаимного TLS (mTLS) для шифрования трафика "сервис-сервис" и политик авторизации на уровне сетевого слоя.
  • Наблюдаемостью: Интеграция с Prometheus, Grafana и Jaeger для сбора метрик, визуализации и распределенного трейсинга запросов.

Пример: Конфигурация Istio для постепенного переноса трафика между версиями сервиса:

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 75
    - destination:
        host: reviews
        subset: v2
      weight: 25

Основная ценность Service Mesh — вынос сквозной функциональности (безопасность, наблюдение, управление трафиком) из кода приложения в инфраструктурный слой.