Обзор маршрутизации узлов eBPF

По мере масштабирования контейнерных рабочих нагрузок в распределенных средах потребность в высокопроизводительной сети с низкой задержкой становится критической. Маршрутизация узла eBPF — это функция, ориентированная на производительность в расширенных сетевых службах контейнеров (ACNS), которая использует расширенную технологию фильтра пакетов Berkeley (eBPF) для оптимизации потока трафика в кластерах Kubernetes. Устаревшая маршрутизация на узлах Kubernetes приводит к дополнительной нагрузке из-за обработки правил iptables и netfilter в пространстве имен сети узла. Маршрутизация узла eBPF имеет преимущества по сравнению с устаревшей маршрутизацией узлов:

  • Реализация логики маршрутизации в программах eBPF.
  • Включение Cilium eBPF для обхода iptables в пространстве имен хоста.

Этот прямой путь уменьшает количество прыжков и уровней обработки, что приводит к более быстрой доставке пакетов.

Ключевые преимущества

Снижение задержки — обход iptables на хосте приводит к снижению задержки между подами.

Повышенная пропускная способность. По сравнению с устаревшей маршрутизацией можно наблюдать значительные улучшения для трафика pod-to-pod между узлами.

Уменьшение использования ЦП — благодаря удалению логики SNAT на основе iptables и маршрутизации достигается умеренное сокращение использования ЦП.

Варианты использования маршрутизации узлов eBPF — это критически важные рабочие нагрузки, такие как микрослужбы с высокой пропускной способностью, службы в режиме реального времени или рабочие нагрузки ИИ/ML. Убедитесь, что среда развертывания соответствует требованиям перед включением.

Компоненты маршрутизации узлов eBPF

iptables blocker — Инициализационный контейнер, который предотвращает любую будущую установку правил iptables в пространстве имен сети узла (установка таких правил будет пропущена при включенной маршрутизации узла eBPF).

IP Masquerade Agent — Если маршрутизация узла eBPF активна, Cilium берет на себя обязанности SNAT с помощью маскировки на основе BPF. ip-masq-agent остается запущенным для поддержания согласованного поведения, если маршрутизация узла eBPF позже отключена; Однако правила iptables игнорируются при активной маршрутизации узла eBPF.

Соображения

  • Включение хостовой маршрутизации eBPF приводит к обходу правил iptables в пространстве имен сети узла. Таким образом, AKS пытается обнаружить и заблокировать включение маршрутизации хоста eBPF в кластерах, где в пространстве имен сети узла используются правила iptables.

  • В кластерах с включенной маршрутизацией узла eBPF AKS блокирует попытки установить правила iptables в пространстве имен сети узла. Попытка обойти этот блок может привести к тому, что кластер будет неработоспособным.

  • Включение eBPF маршрутизации на хосте путем пошаговых обновлений пулов узлов чтобы учитывать существующие подключения во время тайм-аута опустошения узла. Узлы помечены kubernetes.azure.com/ebpf-host-routing=true после включения маршрутизации узла eBPF на определенном узле.

  • Подключение с двухстековой связностью поддерживается маршрутизацией eBPF Host.

Ограничения

  • Маршрутизация узлов eBPF в настоящее время несовместима с узлами под управлением OS, отличных от Ubuntu 24.04, или Azure Linux 3.0. Маршрутизация узлов eBPF в настоящее время также не поддерживается с конфиденциальными виртуальными машинами и песочницами Pod.

  • Маршрутизация узла eBPF может быть включена только для всех узлов в кластере. Сценарии гибридных узлов не поддерживаются.

  • Узлы Windows не совместимы с Azure CNI при помощи Cilium и, следовательно, с маршрутизацией узла eBPF.

  • Маршрутизация узла eBPF не может использоваться со статическим шлюзом исходящего трафика.

  • Istio Ambient при самостоятельно управляемой установке с режимом производительности ACNS не поддерживается.

Pricing

Это важно

Расширенные услуги контейнерной сети предоставляются на платной основе. Дополнительные сведения о ценах см. в разделе "Расширенные сетевые службы контейнеров" — цены.

Дальнейшие шаги