Sidecar — отдельный контейнер рядом с приложением в Pod; Envoy может перехватывать сетевой трафик и применять общие политики. В sidecar-режиме Istio управляет конфигурацией и идентичностью прокси.
Как устроен паттерн Sidecar в Kubernetes на примере Istio или Envoy? Как этот паттерн позволяет вынести логику шифрования трафика (mTLS), трассировки запросов и повторных попыток (retries) из приложения?
Sidecar — отдельный контейнер рядом с приложением в Pod; Envoy может перехватывать сетевой трафик и применять общие политики. В sidecar-режиме Istio управляет конфигурацией и идентичностью прокси.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Sidecar — отдельный контейнер рядом с приложением в Pod; Envoy может перехватывать сетевой трафик и применять общие политики. В sidecar-режиме Istio управляет конфигурацией и идентичностью прокси.
Прокси выполняет mTLS, часть метрик и разрешённых retries, снимая транспортную логику с приложения. Для сквозного trace приложение всё равно должно передавать контекст между входящим и исходящим запросами. Повторы небезопасных операций требуют идемпотентности. Sidecar добавляет ресурсы и задержку; Istio также имеет другие режимы, поэтому это не единственная возможная архитектура mesh.
Источник: istio.io.