#kubernetes
#kubernetes
Вопрос:
Когда дело доходит до сетей, я совершенно ошеломлен многочисленными концепциями и вариантами. Итак, мой вопрос: каковы варианты использования и различия между этими концепциями kubernetes?
Что я узнал до сих пор:
Документация сетевой политики описывает случай использования довольно ясно:
вы хотите управлять потоком трафика на уровне IP-адреса или порта
Но сетевая политика здесь не используется последовательно: Calico — это сетевая модель в документе kubernetes или сетевая политика на портале Azure (s. image).
Я подозреваю, что Azure использует здесь неправильный термин.
Но тогда я все еще не понимаю разницы между моделью и плагином. Конечно, речь идет об управлении связью между ресурсами.
Зачем мне нужны две разные концепции и два варианта конфигурации для управления сетевым трафиком?
Ответ №1:
В Kubernetes устранено несколько сетевых проблем:
- Обмен данными между контейнерами
- Обмен данными между модулями
- Связь между модулем и сервисом
- Внешняя связь между сетями и службами
1-я проблема, решаемая во время выполнения контейнера, rest (3-я и 4-я, охватываемые службами, которые все еще зависят от базовой сетевой модели), решаемая сетевой моделью Kubernetes.
Сетевая модель — это высокоуровневое описание того, как должна работать сеть в Kubernetes, которое предъявляет 3 основных требования:
- Каждый модуль получает свой собственный IP-адрес
- Модули на узле могут взаимодействовать со всеми модулями на всех узлах без NAT
- Агенты на узле могут взаимодействовать со всеми модулями на этом узле
Эта абстрактная модель допускает различные реализации фактического сетевого уровня, например, реализацию сети по умолчанию, называемую kubenet или Calico, Cilium и т. Д.
Сетевой плагин — это, по сути, все, что реализует интерфейс NetworkPlugin. Все реализации сетевой модели на самом деле являются сетевыми плагинами, даже по умолчанию. Конечно, вы можете настроить некоторые дополнительные плагины для дополнительных функций / контроля над сетью.
Но почему Azure упоминает Calico
как сетевую политику? Ну, сетевые политики реализуются с помощью сетевых плагинов и kubenet
Calico
предоставляют свои собственные реализации сетевых политик.