Поделиться через


Включение контейнеров для использования возможностей виртуальной сети Azure

Чтобы перенести широкий набор возможностей сети Azure в контейнеры, можно использовать тот же программно-определенный сетевой стек, который обеспечивает виртуальные машины. Подключаемый модуль сетевого интерфейса контейнера Azure виртуальная сеть (CNI) устанавливается на виртуальной машине Azure. Подключаемый модуль назначает IP-адреса из виртуальной сети контейнерам, подключенным к виртуальной машине. Он подключает их к виртуальной сети и подключает их непосредственно к другим контейнерам и ресурсам виртуальной сети.

Подключаемый модуль не зависит от сетей наложения или маршрутов для подключения и обеспечивает ту же производительность, что и виртуальные машины. На высоком уровне подключаемый модуль предоставляет следующие возможности, чтобы вы могли:

  • Назначьте IP-адрес виртуальной сети каждому модулем pod, который может состоять из одного или нескольких контейнеров.
  • Подключите модули pod к пиринговым виртуальным сетям и локальным сетям через Azure ExpressRoute или виртуальную частную сеть типа "сеть — сеть". Они также доступны из пиринговых и локальных сетей.
  • Доступ к службам с помощью модулей pod. Например, служба хранилища Azure и База данных SQL Azure защищены конечными точками службы виртуальной сети.
  • Примените группы безопасности сети и маршруты непосредственно к модулям pod.
  • Поместите модули pod непосредственно за внутренней или общедоступной подсистемой балансировки нагрузки Azure, как и виртуальные машины.
  • Назначьте pod общедоступный IP-адрес, чтобы сделать их доступными непосредственно из Интернета. Контейнеры Pod также могут получить доступ в Интернет самостоятельно.
  • Используйте модули pod для эффективной работы с ресурсами Kubernetes, такими как службы, контроллеры входящего трафика и DNS Kube. Кроме того, служба Kubernetes может предоставляться внутренне или внешне с помощью Azure Load Balancer.

На следующей схеме показано, как подключаемый модуль предоставляет возможности Azure виртуальная сеть для модулей pod.

Схема, показывая обзор сети контейнеров.

Подключаемый модуль поддерживает платформы Windows и Linux.

Подключение модулей pod к виртуальной сети

Модули Pod создаются на виртуальной машине, которая входит в виртуальную сеть. Пул IP-адресов для модулей pod настраивается как вторичные адреса в сетевом интерфейсе виртуальной машины. Azure CNI настраивает базовое сетевое подключение для модулей pod и управляет использованием IP-адресов в пуле. Когда модуль pod появится на виртуальной машине, Azure CNI назначает доступный IP-адрес из пула и подключает pod к программному мосту виртуальной машины. После завершения модуля pod IP-адрес добавляется в пул. На следующей схеме показано, как модули pod подключаются к виртуальной сети.

Схема с подробными сведениями о сети контейнеров.

Доступ к Интернету

Чтобы разрешить pod доступ к Интернету, подключаемый модуль настраивает правила iptables для преобразования сетевых адресов (NAT) для перевода трафика, привязанного к Интернету, из модулей pod. IP-адрес источника пакета будет преобразован в основной IP-адрес для сетевого интерфейса виртуальной машины. Виртуальные машины Windows автоматически источник трафика NAT, предназначенный для IP-адресов за пределами подсети, где находится виртуальная машина. Как правило, весь трафик, предназначенный для IP-адреса за пределами диапазона IP-адресов виртуальной сети, будет преобразован.

Ограничения

Подключаемый модуль поддерживает до 250 модулей pod на виртуальную машину и до 16 000 модулей pod в виртуальной сети. Эти ограничения отличаются для Служба Azure Kubernetes (AKS).

Использование подключаемого модуля

Подключаемый модуль можно использовать следующим образом, чтобы предоставить базовое вложение виртуальной сети для модулей pod или контейнеров Docker:

  • Служба Azure Kubernetes. Используйте подключаемый модуль для интеграции с AKS, выбрав параметр "Дополнительное сетевое подключение". С помощью расширенной сети можно развернуть кластер Kubernetes в существующей или новой виртуальной сети. Дополнительные сведения о расширенной сети и действиях по его настройке см. в статье "Конфигурация сети" в AKS.
  • Подсистема AKS: используйте обработчик AKS для создания шаблона Azure Resource Manager для развертывания кластера Kubernetes в Azure. Подробные инструкции см. в статье "Развертывание подключаемого модуля для кластеров Kubernetes подсистемы AKS".
  • Создайте собственный кластер Kubernetes в Azure: используйте подключаемый модуль, чтобы обеспечить базовую сеть для модулей pod в кластерах Kubernetes, которые вы развертываете самостоятельно, не опираясь на AKS или средства, такие как подсистема AKS. В этом случае подключаемый модуль установлен и включен на каждой виртуальной машине в кластере. Подробные инструкции см. в разделе Развертывание подключаемого модуля для кластера Kubernetes.
  • Вложение виртуальной сети для контейнеров Docker в Azure: используйте подключаемый модуль, если вы не хотите создать кластер Kubernetes и хотите создать контейнеры Docker с вложением виртуальной сети на виртуальных машинах. Подробные инструкции см. в разделе Развертывание подключаемого модуля для контейнеров Docker.