сетевая модель kubernetes против сетевого плагина против сетевой политики

#kubernetes

#kubernetes

Вопрос:

Когда дело доходит до сетей, я совершенно ошеломлен многочисленными концепциями и вариантами. Итак, мой вопрос: каковы варианты использования и различия между этими концепциями kubernetes?

Что я узнал до сих пор:

Документация сетевой политики описывает случай использования довольно ясно:

вы хотите управлять потоком трафика на уровне IP-адреса или порта

Но сетевая политика здесь не используется последовательно: Calico — это сетевая модель в документе kubernetes или сетевая политика на портале Azure (s. image).

Сеть Azure

Я подозреваю, что Azure использует здесь неправильный термин.

Но тогда я все еще не понимаю разницы между моделью и плагином. Конечно, речь идет об управлении связью между ресурсами.

Зачем мне нужны две разные концепции и два варианта конфигурации для управления сетевым трафиком?

Ответ №1:

В Kubernetes устранено несколько сетевых проблем:

  1. Обмен данными между контейнерами
  2. Обмен данными между модулями
  3. Связь между модулем и сервисом
  4. Внешняя связь между сетями и службами

1-я проблема, решаемая во время выполнения контейнера, rest (3-я и 4-я, охватываемые службами, которые все еще зависят от базовой сетевой модели), решаемая сетевой моделью Kubernetes.

Сетевая модель — это высокоуровневое описание того, как должна работать сеть в Kubernetes, которое предъявляет 3 основных требования:

  • Каждый модуль получает свой собственный IP-адрес
  • Модули на узле могут взаимодействовать со всеми модулями на всех узлах без NAT
  • Агенты на узле могут взаимодействовать со всеми модулями на этом узле

Эта абстрактная модель допускает различные реализации фактического сетевого уровня, например, реализацию сети по умолчанию, называемую kubenet или Calico, Cilium и т. Д.

Сетевой плагин — это, по сути, все, что реализует интерфейс NetworkPlugin. Все реализации сетевой модели на самом деле являются сетевыми плагинами, даже по умолчанию. Конечно, вы можете настроить некоторые дополнительные плагины для дополнительных функций / контроля над сетью.

Но почему Azure упоминает Calico как сетевую политику? Ну, сетевые политики реализуются с помощью сетевых плагинов и kubenet Calico предоставляют свои собственные реализации сетевых политик.