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

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

  • IP-адрес виртуальной сети присваивается каждому Pod, который может состоять из одного или нескольких контейнеров.

  • Контейнеры Pod могут подключаться к пиринговым виртуальным сетям и к локальным сетям через ExpressRoute или VPN-подключение типа "сеть — сеть". Они также доступны из пиринговых и локальных сетей.

  • Модули pod могут получать доступ к службам, таким как служба хранилища Azure и база данных Azure SQL, которые защищены конечными точками служб виртуальной сети.

  • Группы безопасности сети и маршруты могут быть применены непосредственно к контейнерам Pod.

  • Контейнеры Pod можно поместить непосредственно за внутренним или общедоступным Azure Load Balancer, подобно виртуальным машинам.

  • Контейнерам Pod может быть назначен общедоступный IP-адрес, который делает их напрямую доступными из Интернета. Контейнеры Pod также могут получить доступ в Интернет самостоятельно.

  • Они хорошо работают с ресурсами Kubernetes, такими как службы, контроллеры входящего трафика и Kube DNS. Служба 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) границ трафика Интернета от контейнеров Pods. IP-адрес источника пакета будет преобразован в основной IP-адрес для сетевого интерфейса виртуальной машины. Виртуальные машины Windows автоматически отправляют трафик источника преобразования сетевых адресов (SNAT), предназначенный для IP-адресов за пределами подсети, к которой принадлежит виртуальная машина. Как правило, весь трафик, предназначенный для IP-адреса за пределами диапазона IP-адресов виртуальной сети, будет преобразован.

Ограничения

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

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

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

  • Служба Azure Kubernetes. Подключаемый модуль интегрируется в службу Azure Kubernetes (AKS) и может использоваться при выборе параметра Расширенная сеть. Расширенная сеть позволяет развернуть кластер Kubernetes в существующей или новой виртуальной сети. Дополнительные сведения о расширенной сети и ее настройке см. в разделе Конфигурация сети в Службе Azure Kubernetes (AKS).

  • Обработчик AKS: является средством, которое создает шаблон Azure Resource Manager для развертывания кластера Kubernetes в Azure. Подробные инструкции см. в разделе Развертывание подключаемого модуля для кластера Kubernetes с обработчиком AKS.

  • Создание кластера Kubernetes в Azure Подключаемый модуль можно использовать для предоставления основных сетей для контейнеров Pod в кластерах Kubernetes, которые вы развертываете самостоятельно, не полагаясь на AKS и такие средства, как обработчик AKS. В этом случае подключаемый модуль установлен и включен на каждой виртуальной машине в кластере. Подробные инструкции см. в разделе Развертывание подключаемого модуля для кластера Kubernetes.

  • Подключение виртуальной сети к контейнерам Docker в Azure. Подключаемый модуль может использоваться в тех случаях, когда вы не хотите создавать кластер Kubernetes, а хотите создать контейнеры Docker с подключением виртуальной сети в виртуальных машинах. Подробные инструкции см. в разделе Развертывание подключаемого модуля для контейнеров Docker.

Дальнейшие действия