Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В процессе разработки, опирающемся на использование контейнеров и микрослужб, компоненты приложения должны слаженно работать вместе для обработки задач. Kubernetes предоставляет различные ресурсы для обеспечения этой слаженной работы:
- К приложениям можно подключиться и предоставить внутренний или внешний доступ.
- Имеется возможность создавать приложения с высоким уровнем доступности путем распределения нагрузки.
- Вы можете ограничить поток сетевого трафика в модули pod и узлы, чтобы повысить безопасность.
- Вы можете настроить трафик входящего трафика для завершения SSL/TLS или маршрутизации нескольких компонентов для более сложных приложений.
В этой статье приводится обзор ключевых понятий сети в приложениях в AKS.
Основы сети Kubernetes
Kubernetes использует виртуальный сетевой уровень для управления доступом внутри и между приложениями или их компонентами:
Узлы Kubernetes и виртуальная сеть: узлы Kubernetes подключены к виртуальной сети. Эта настройка позволяет модулям pod (базовым единицам развертывания в Kubernetes) иметь как входящие, так и исходящие подключения.
Компонент Kube-proxy: kube-proxy выполняется на каждом узле и отвечает за предоставление необходимых сетевых функций.
Что касается конкретных функциональных возможностей Kubernetes:
- Подсистема балансировки нагрузки. Для равномерного распределения сетевого трафика между различными ресурсами можно использовать подсистему балансировки нагрузки.
- Контроллеры входящего трафика: это упрощает маршрутизацию уровня 7, что является важным для направления трафика приложения.
- Управление трафиком исходящего трафика: Kubernetes позволяет управлять исходящим трафиком с узлов кластера и управлять ими.
- Политики сети: эти политики обеспечивают меры безопасности и фильтрацию сетевого трафика в модулях pod.
В контексте платформы Azure:
- Azure упрощает виртуальные сети для кластеров AKS (Служба Azure Kubernetes).
- Создание подсистемы балансировки нагрузки Kubernetes в Azure одновременно настраивает соответствующий ресурс подсистемы балансировки нагрузки Azure.
- При открытии сетевых портов для модулей pod Azure автоматически настраивает необходимые правила группы безопасности сети.
- Azure также может управлять внешними конфигурациями DNS для маршрутизации приложений HTTP, так как устанавливаются новые маршруты входящего трафика.
Виртуальные сети Azure
В AKS можно развернуть кластер, использующий одну из следующих сетевых моделей:
- Наложенная сетевая модель: наложение сети — это наиболее распространенная сетевая модель, используемая в Kubernetes. Модули Pod получают IP-адрес из частной, логически отделяемой CIDR от подсети виртуальной сети Azure, в которой развертываются узлы AKS. Эта модель обеспечивает более простую, улучшенную масштабируемость по сравнению с плоской сетевой моделью.
- Модель неструктурированных сетей: модель плоской сети в AKS назначает IP-адреса модулям pod из подсети из той же виртуальной сети Azure, что и узлы AKS. Любой трафик, покидающий кластеры, не является SNAT, и IP-адрес pod напрямую предоставляется для назначения. Эта модель может быть полезна для таких сценариев, как предоставление IP-адресов pod внешним службам.
Дополнительные сведения о сетевых моделях в AKS см. в статье CNI Networking in AKS.
Управление исходящим трафиком (исходящего трафика)
Кластеры AKS развертываются в виртуальной сети и имеют исходящие зависимости от служб за пределами этой виртуальной сети, которые почти полностью определены с полными доменными именами (FQDN). AKS предоставляет несколько параметров исходящей конфигурации, которые позволяют настроить способ доступа к этим внешним ресурсам.
Это важно
Начиная с 31 марта 2026 г. служба Azure Kubernetes (AKS) больше не поддерживает исходящий доступ по умолчанию для виртуальных машин. Новые кластеры AKS, использующие параметр виртуальной сети, управляемый AKS, по умолчанию помещает подсети кластера в частные подсети.defaultOutboundAccess = false Этот параметр не влияет на трафик управляемого AKS кластера, который использует явно настроенные исходящие пути. Это может повлиять на неподдерживаемые сценарии, например развертывание других ресурсов в той же подсети. Кластеры, использующие виртуальные сети BYO, не влияют на это изменение. В поддерживаемых конфигурациях никаких действий не требуется. Для получения дополнительной информации об этом выводе из эксплуатации смотрите объявление о выводе обновлений Azure из эксплуатации. Чтобы оставаться в курсе объявлений и обновлений, следуйте заметкам о выпуске AKS.
Параметры конфигурации исходящего трафика
Дополнительные сведения о поддерживаемых типах конфигурации исходящего трафика кластера AKS см. в статье "Настройка исходящего трафика кластера с исходящими типами в Служба Azure Kubernetes (AKS)".
По умолчанию кластеры AKS имеют неограниченный исходящий (исходящий) доступ к Интернету, что позволяет узлам и службам, которые вы запускаете для доступа к внешним ресурсам по мере необходимости. При желании можно ограничить исходящий трафик.
Дополнительные сведения об ограничении исходящего трафика из кластера см. в статье "Управление исходящим трафиком" для узлов кластера в AKS.
Группы безопасности сети
Группа безопасности сети фильтрует трафик для виртуальных машин, например для узлов AKS. При создании служб, таких как LoadBalancer, платформа Azure автоматически настраивает все необходимые правила группы безопасности сети.
Для фильтрации трафика для модулей pod в кластере AKS нет необходимости настраивать групповые правила безопасности сети вручную. Вы можете определить все необходимые порты и переадресацию в рамках манифестов службы Kubernetes и позволить платформе Azure создавать или обновлять соответствующие правила.
Чтобы автоматически применять правила фильтрации трафика к модулям pod, вы также можете использовать политики сети.
Дополнительные сведения см. в статье "Фильтрация сетевого трафика групп безопасности сети".
Требования к пользовательской виртуальной сети
При использовании настраиваемой виртуальной сети с кластерами AKS, если вы добавили правила группы безопасности сети (NSG), чтобы ограничить трафик между различными подсетями, убедитесь, что правила безопасности NSG разрешают следующие типы обмена данными:
| Место назначения | Исходный материал | Протокол | Порт | Использование |
|---|---|---|---|---|
| СЕРВЕРА APIServer подсети CIDR | Подсеть кластера | Протокол tcp | 443 и 4443 | Требуется для включения связи между узлами и сервером API. |
| СЕРВЕРА APIServer подсети CIDR | Azure Load Balancer (балансировщик нагрузки Azure) | Протокол tcp | 9988 | Требуется для включения взаимодействия между Azure Load Balancer и сервером API. Вы также можете включить всю коммуникацию между Azure Load Balancer и подсетью CIDR API-сервера. |
| CIDR узла | CIDR узла | Все протоколы | Все порты | Требуется для включения связи между узлами. |
| CIDR узла | Pod CIDR | Все протоколы | Все порты | Требуется для маршрутизации трафика службы. |
| Pod CIDR | Pod CIDR | Все протоколы | Все порты | Требуется для трафика от Pod к Pod и от Pod к службе, включая DNS. |
Эти требования применяются как к кластерам AKS Standard, так и к автоматическим кластерам AKS при использовании пользовательских виртуальных сетей.
Политики сети
По умолчанию все контейнеры pod в кластере AKS могут отправлять и получать трафик без ограничений. Для повышения безопасности вы можете определить правила, управляющие потоком трафика, например:
- Внутренние приложения предоставляются только для необходимых интерфейсных служб.
- Компоненты базы данных доступны только для уровней приложений, которые к ним подключаются.
Политика сети — это функция Kubernetes, которая позволяет контролировать поток трафика между контейнерами pod. Вы можете разрешить или запретить трафик в pod на основе параметров, таких как назначенные метки, пространство имен или порт трафика. Несмотря на то что группы безопасности сети лучше подходят для узлов AKS, сетевые политики — это более подходящий и более тесно связанный с облаком способ управления потоком трафика для модулей Pod. Поскольку контейнеры pod динамически создаются в кластере AKS, необходимые политики сети могут применяться автоматически.
Дополнительные сведения см. в статье Secure traffic between pods using network policies in Azure Kubernetes Service (AKS) (Защита трафика между контейнерами pod с использованием политик сети в Azure Kubernetes Service (AKS)).
Следующие шаги
Чтобы приступить к работе с сетями AKS, создайте и настройте кластер AKS с собственными диапазонами IP-адресов с помощью наложения Azure CNI или Azure CNI.
Рекомендации и описания лучших практик представлены в статье Рекомендации по сетевому подключению и безопасности в AKS.
Дополнительные сведения о ключевых понятиях Kubernetes и AKS приведены в следующих статьях: