Определение параметров подключаемого модуля
Для кластера AKS требуется сетевой плагин, чтобы облегчить взаимодействие между подами, взаимодействие между подами и узлами, а в некоторых случаях взаимодействие между узлами и подами. В AKS доступны две сетевые модели: kubenet и Azure CNI. Существуют дополнительные изменения Azure CNI, включая наложение Azure CNI, Azure CNI для динамического распределения IP-адресов и Azure CNI с помощью CILIUM. Каждая из этих моделей имеет собственный набор функций и ограничений.
kubenet
По умолчанию кластеры AKS используют kubenet. С помощью kubenet виртуальная сеть Azure, подсеть и таблица маршрутов создаются автоматически при развертывании кластера, но существующие сетевые ресурсы можно предоставить. С Kubenet:
- Узлы получают IP-адрес из подсети виртуальной сети Azure.
- Поды получают IP-адрес из логического адресного пространства, отличного от подсети группы узлов.
- Затем настраивается преобразование сетевых адресов (NAT), чтобы поды могли получать доступ к ресурсам в виртуальной сети Azure.
- Исходный IP-адрес трафика преобразуется в основной IP-адрес узла.
Модули Pod не могут напрямую взаимодействовать друг с другом между узлами. Вместо этого для подключения между подами через узлы используются определяемая пользователем маршрутизация (UDR) и IP-пересылка. По умолчанию UDR и конфигурация IP-пересылки создаются и поддерживаются службой AKS, но у вас есть возможность использовать собственную таблицу маршрутов для пользовательского управления маршрутами.
Если настраиваемая подсеть не содержит таблицу маршрутов, AKS создает ее для вас и добавляет в нее правила во время жизненного цикла кластера. Если пользовательская подсеть содержит таблицу маршрутов при создании кластера, AKS подтверждает существующую таблицу маршрутов во время операций кластера и добавляет или обновляет правила соответствующим образом для операций поставщика облачных служб.
Azure CNI
Подключаемый модуль Azure CNI — это более сложный вариант сети с более высокой настройкой и более поддерживаемыми функциями. Для использования кластеров с сетями Azure CNI требуется заранее подготовленная подсеть и виртуальная сеть, а также дополнительное планирование. Размер вашей виртуальной сети и ее подсети должен учитывать количество pods, которые вы планируете запускать, и количество узлов в кластере. С Azure CNI:
- Узлы получают пространство IP-адресов из подсети виртуальной сети Azure.
- Каждый модуль pod получает IP-адрес в подсети пула узлов и может напрямую взаимодействовать с другими модулями pod и службами.
- Кластеры могут быть максимально большими, чем указанный диапазон IP-адресов. Однако диапазон IP-адресов необходимо заранее запланировать, и все IP-адреса используются узлами AKS в зависимости от максимального количества pod, которые они могут поддерживать.
Для использования сетевого подключаемого модуля Azure CNI требуются существующая подсеть и виртуальная сеть. Эту подсеть и виртуальную сеть можно создать во время создания кластера AKS.
Сетевое наложение Azure CNI
Azure CNI Overlay представляет собой эволюцию Azure CNI, решая проблемы масштабируемости и планирования, связанные с назначением IP-адресов виртуальной сети подам. Overlay-сеть Azure CNI назначает частные IP-адреса CIDR подам. Частные IP-адреса отделены от виртуальной сети и могут использоваться повторно в нескольких кластерах. Overlay Azure CNI может масштабироваться за пределы 400 узлов, установленных в кластерах Kubenet. Для большинства кластеров рекомендуется использовать наложение Azure CNI.
Azure CNI на базе Cilium
Azure CNI powered by Cilium использует Cilium для обеспечения высокопроизводительной сети, наблюдаемости и применения политик сети. Он интегрируется напрямую с Azure CNI Overlay для эффективного управления масштабируемыми IP-адресами (IPAM).
Кроме того, Cilium применяет политики сети по умолчанию, не требуя отдельной подсистемы сетевой политики. Azure CNI Powered by Cilium может масштабироваться за пределы пределов Azure Network Policy Manager в 250 узлов / 20 тысяч подов с помощью программ ePBF и более эффективной структуры объектов API.
Azure CNI Powered by Cilium — это рекомендуемый вариант для кластеров, требующих применения политики сети.
Использование настраиваемого подключаемого модуля
Клиентам, которые планируют использовать настраиваемую конфигурацию сети, не требуется сетевых плагинов. Вы можете выбрать поставщики CNI, такие как Cilium или Flannel. Однако лучше обратиться к собственной документации, так как она не охватывается корпорацией Майкрософт.