Omówienie routingu hosta eBPF

W miarę skalowania obciążeń konteneryzowanych w środowiskach rozproszonych zapotrzebowanie na sieć o wysokiej wydajności i małych opóźnieniach staje się krytyczne. Funkcjonalność routingu hosta wykorzystująca eBPF to funkcja skoncentrowana na wydajności w ramach usług Advanced Container Networking Services (ACNS), która korzysta z rozszerzonej technologii Berkeley Packet Filter (eBPF) w celu optymalizacji przepływu ruchu w klastrach Kubernetes. Legacy routing na hostach Kubernetes wprowadza obciążenie w postaci reguł iptables oraz przetwarzania reguł przez netfilter w przestrzeni nazw sieci hosta. Trasowanie eBPF hosta ma zalety w porównaniu z trasowaniem hosta starszego typu dzięki:

  • Implementowanie logiki routingu w programach eBPF.
  • Zezwalanie Cilium eBPF na pomijanie iptables w przestrzeni nazw hosta.

Ta bezpośrednia ścieżka zmniejsza liczbę przeskoków i warstw przetwarzania, co powoduje szybsze dostarczanie pakietów.

Najważniejsze korzyści

Zmniejszone opóźnienie — pomijanie iptables na hoście skutkuje zmniejszonym opóźnieniem między podami.

Zwiększona przepustowość — w porównaniu ze starszym routingiem można zaobserwować znaczne poprawy w przepływie ruchu między podami na węzłach.

Zmniejszenie zużycia procesora — w wyniku usunięcia logiki SNAT opartej na iptables i routingu, skromne zmniejszenie zużycia procesora

Przypadki użycia routingu hosta eBPF to obciążenia o krytycznym znaczeniu dla wydajności, takie jak mikrousługi o wysokiej przepływności, usługi w czasie rzeczywistym lub obciążenia sztucznej inteligencji/uczenia maszynowego. Przed włączeniem upewnij się, że środowisko wdrażania spełnia wymagania.

Składniki routingu hosta eBPF

iptables blocker — Kontener inicjowania, który uniemożliwia w przyszłości instalację reguł iptables w przestrzeni nazw sieci hosta (takie reguły zostaną pominięte po włączeniu routingu hosta eBPF).

IP Masquerade Agent - Gdy routing hosta eBPF jest włączony, Cilium przejmuje odpowiedzialność za SNAT, wykorzystując maskowanie oparte na BPF. ip-masq-agent nadal działa, aby zachować spójne działanie w przypadku późniejszego wyłączenia routingu hosta eBPF; jednak gdy routing hosta eBPF jest aktywny, jego reguły iptables są ignorowane.

Rozważania

  • Włączenie routingu hosta eBPF powoduje obejście reguł iptables w przestrzeni nazw sieci hosta. W związku z tym usługa AKS próbuje wykryć i zablokować włączenie routingu hosta eBPF w klastrach, w których są używane reguły iptables w przestrzeni nazw sieci hosta.

  • W klastrach z włączonym routingiem eBPF na hoście usługa AKS blokuje próby zainstalowania reguł iptables w przestrzeni nazw sieci hosta. Próba obejścia tego bloku może spowodować, że klaster będzie nieoperacyjny.

  • Włączanie aktualizacji routingu hosta eBPF aktualizuje węzły przez stopniowe aktualizacje dla pul węzłów, aby zachować istniejące połączenia poprzez ustawienie limitu czasu na opróżnianie węzłów. Węzły są oznaczone etykietą kubernetes.azure.com/ebpf-host-routing=true po włączeniu routingu hosta eBPF w danym węźle.

  • Obsługa połączeń o podwójnym stosie jest realizowana przez routing eBPF Host.

Ograniczenia

  • Routing hosta z użyciem eBPF jest obecnie niezgodny z węzłami działającymi pod kontrolą systemów innych niż Ubuntu 24.04 lub Azure Linux 3.0. Routing hosta przy użyciu eBPF nie jest aktualnie obsługiwane z poufnymi maszynami wirtualnymi ani z piaskowaniem zasobników.

  • Routing hosta eBPF można włączyć tylko dla wszystkich węzłów w klastrze. Scenariusze węzłów hybrydowych nie są obsługiwane.

  • węzły Windows nie są obsługiwane przez Azure CNI zasilane przez Cilium, a tym samym trasowania hosta przez eBPF.

  • Routing hosta z użyciem eBPF nie może być używany razem z statyczną bramą ruchu wychodzącego.

  • Istio Ambient w ramach instalacji zarządzanej samodzielnie z włączonym trybem wydajności ACNS nie jest obsługiwane.

Pricing

Ważne

Zaawansowane usługi sieciowe kontenerów to oferta płatna. Aby uzyskać więcej informacji na temat cen, zobacz Advanced Container Networking Services — cennik.

Dalsze kroki