Различия между коляской, послом и адаптером - PullRequest
2 голосов
/ 23 декабря 2019

Я запутался между шаблонами Multi-Container Pod Design.
(коляска, адаптер, посол)

Что я понимаю:
Коляска : контейнер + контейнер (долятот же ресурс и выполняет другие функции)
Адаптер : контейнер + адаптер (для проверки состояния другого контейнера. например, мониторинг )
Ambassador : container +прокси (для внешних сетей)

Но, согласно Istio - Установка коляски , они вводят прокси как шаблон коляски.

Адаптер - это контейнер, а Proxy - тоже контейнер.

Итак, мой вопрос В чем различия между шаблоном коляски и шаблоном Adapter & Ambassador?

Содержит ли концепция шаблона коляски шаблон Adapter & Ambassador?

Ответы [ 2 ]

2 голосов
/ 23 декабря 2019

Во-первых, вы правы, термин sidecar container теперь стал словом для описания дополнительного контейнера в вашем модуле. Первоначально (?) это был определенный шаблон проектирования нескольких контейнеров.

Шаблоны проектирования нескольких контейнеров

Шаблон коляски

Дополнительный контейнер в вашем пакете для улучшения или расширения функциональности основного контейнера.

Шаблон посола

Контейнер, который передает сетевое подключение к основному контейнеру.

Шаблон адаптера

Контейнер, который преобразует вывод изосновной контейнер.

Это взято из оригинальной статьи за 2015 год: Шаблоны для составных контейнеров

Сводка

Ваше примечание по

Но, согласно заявлению Istio -Установка коляски, они вводят прокси как шаблон коляски.

На рисунках выше оба адаптера Ambassador и должен фактически прокси подключаться к сети, но делать это с другой целью. С помощью Istio это делается, например, для разрыва соединения mTLS , сбора метрик и многого другого, чтобы улучшить вашего основного контейнера. Так что на самом деле это шаблон коляски , но, как вы правильно заметили, сбивает с толку весь шаблон прокси соединения - но для разных целей.

2 голосов
/ 23 декабря 2019

Sidecar - это дополнительный контейнер, который расширяет функциональные возможности основного контейнера. Повсюду приведен пример, что вы хотели бы отправлять журналы в какую-то внешнюю систему. Не изменяя бизнес-логику (основной контейнер), вы можете развернуть агент регистрации в качестве контейнера вспомогательной машины.

Ambassador - это контейнер, который является прокси-сервером для других частей системы. Хорошим примером является развертывание контейнера-посла, который имеет учетные данные для API Kubernetes, поэтому вам не нужно использовать аутентификацию от вашего клиента. Еще один хороший пример - использование Ambassador в качестве прокси-сервера для кластера кэширования Redis .


Теперь, что вызывает недоумение, так это то, что оба эти шаблона не ограничиваютсяKubernetes . Однако для реализации Ambassador в Кубернетесе обычно используется Sidecar . Другими словами, Амбассадор обычно реализуется как контейнер с коляской (как объяснено здесь ).

Посланник Istio определенно реализован с использованием в качестве контейнера с коляской. Я никогда не видел, чтобы это описывалось как «посол», возможно, потому, что это намного больше, чем просто пересылка запросов другим частям системы.


В этих двух статьях очень хорошо объясняются посланник коляски и шаблоны адаптера:

...