Сетевые политики кластера Kubernetes
Сетевые политики Kubernetes позволяют настроить сетевое взаимодействие между группами подов и узлами сети. Вы можете создать сетевые политики с помощью Kubernetes Network Policy API
Для управления сетевыми политиками в Managed Service for Kubernetes используются контроллеры Calico
Сетевой контроллер Calico использует правила iptables
Важно
Вы можете включить использование сетевых политик только при создании кластера.
Интеграция с балансировщиками
Важно
Из-за архитектурных особенностей Yandex Cloud в Managed Service for Kubernetes нельзя использовать параметр loadBalancerSourceRanges
при настройке контроллеров сетевых политик. Для разрешения трафика через Yandex Network Load Balancer или Yandex Application Load Balancer используйте NetworkPolicy
Пошаговые инструкции по настройке доступа к приложению с помощью NetworkPolicy приведены на странице Обеспечение доступа к приложению, запущенному в кластере Kubernetes.
Calico
Calico позволяет настраивать базовые политики безопасности
Пошаговые инструкции по его настройке приведены на странице Настройка контроллера сетевых политик Calico.
Cilium
По сравнению с Calico, контроллер Cilium обладает более широкими возможностями и позволяет:
- Использовать одни и те же диапазоны подсетей для подов и сервисов в разных кластерах.
- Создавать более функциональные сетевые политики, например, фильтровать трафик между подами на прикладном уровне L7
или на основании DNS-имени внешнего ресурса. - Применять встроенный инструмент Hubble
для мониторинга сетевых событий.
Cilium в кластере Managed Service for Kubernetes работает в туннельном режиме
Туннельный режим Cilium позволяет:
- Создавать кластеры с пересекающимися IP-адресами в одной сети.
- Использовать расширенный диапазон адресов для подов и сервисов кластера вплоть до
/8
. - Создавать в два раза больше узлов в кластерах (в сравнении с Calico).
Для использования туннельного режима сервисному аккаунту кластера требуется роль k8s.tunnelClusters.agent
.
Требования к кластеру для включения сетевых политик
Для включения сетевых политик в кластере Kubernetes необходимо достаточное количество ресурсов в группах узлов. Применение сетевых политик требует дополнительных ресурсов памяти и vCPU.
Рекомендуется включать контроллер сетевых политик только в кластере минимум из двух узлов.