Übersicht über das eBPF-Hostrouting

Da containerisierte Workloads über verteilte Umgebungen skaliert werden, wird die Notwendigkeit von hochleistungsintensiven Netzwerkumgebungen mit geringer Latenz kritisch. Das eBPF-Hostrouting ist ein leistungsorientiertes Feature in Advanced Container Networking Services (ACNS), das erweiterte Technologie des Berkeley Packet Filters (eBPF) verwendet, um den Datenverkehrsfluss in Kubernetes-Clustern zu optimieren. Legacy-Routing auf Kubernetes-Hosts führt zu zusätzlichem Overhead in Form der Verarbeitung von iptables- und Netfilter-Regeln im Hostnetzwerknamespace. eBPF-Hostrouting bietet Vorteile gegenüber dem Legacy-Hostrouting durch:

  • Implementieren der Routinglogik in eBPF-Programmen.
  • Zulassen, dass Cilium eBPF iptables im Hostnamespace umgehen kann.

Dieser direkte Pfad reduziert die Anzahl der Hops und Verarbeitungsebenen, wodurch eine schnellere Paketzustellung erfolgt.

Hauptvorteile

Reduzierte Latenz – Durch das Umgehen von iptables auf dem Host reduziert sich die Pod-zu-Pod-Latenz

Erhöhter Durchsatz – Im Vergleich zum Legacy-Routing können erhebliche Verbesserungen für den Pod-zu-Pod-Datenverkehr zwischen Knoten beobachtet werden.

Reduzierte CPU-Auslastung – Durch das Entfernen der iptables-basierten SNAT- und Routinglogik wurde die CPU-Auslastung geringfügig reduziert.

Anwendungsfälle für eBPF-Hostrouting sind leistungskritische Workloads wie Hochdurchsatz-Microservices, Echtzeitdienste oder AI/ML-Workloads. Stellen Sie sicher, dass die Bereitstellungsumgebung die Anforderungen erfüllt, bevor Sie sie aktivieren.

Komponenten des eBPF-Hostroutings

iptables blocker - Ein Init-Container, der eine zukünftige Installation von IPTables-Regeln im Hostnetzwerknamespace verhindert (solche Regeln werden umgangen, wenn das eBPF-Hostrouting aktiviert ist).

IP Masquerade Agent - Wenn eBPF Host Routing aktiv ist, übernimmt Cilium SNAT-Verantwortlichkeiten mithilfe von BPF-basierten Masquerading. ip-masq-agent wird weiterhin ausgeführt, um ein einheitliches Verhalten aufrechtzuerhalten, wenn das eBPF-Hostrouting später deaktiviert ist; Die iptables-Regeln werden jedoch ignoriert, während das eBPF-Hostrouting aktiv ist.

Überlegungen

  • Durch aktivieren des eBPF-Hostroutings werden IPTables-Regeln im Hostnetzwerknamespace umgangen. Daher versucht AKS, die Aktivierung des eBPF-Hostroutings auf Clustern zu erkennen und zu blockieren, in denen iptables-Regeln im Hostnetzwerknamespace verwendet werden.

  • Bei Clustern mit aktiviertem eBPF-Hostrouting blockiert AKS Versuche, IPTables-Regeln im Hostnetzwerknamespace zu installieren. Der Versuch, diesen Block zu umgehen, kann dazu führen, dass der Cluster inoperational ist.

  • Durch die Aktivierung von eBPF-Host-Routing werden Knoten mittels schrittweiser Upgrades für Knotenpools aktualisiert, um bestehende Verbindungen bis zum Ablauf der Knoten-Drain-Zeitüberschreitung aufrechtzuerhalten. Knoten werden beschriftet kubernetes.azure.com/ebpf-host-routing=true , sobald das eBPF-Hostrouting auf einem bestimmten Knoten aktiviert ist.

  • Dual-Stack-Konnektivität wird von eBPF-Hostrouting unterstützt.

Einschränkungen

  • Das eBPF-Hostrouting ist derzeit nicht mit Knoten kompatibel, die andere OSes als Ubuntu 24.04 oder Azure Linux 3.0 ausführen. Das eBPF-Hostrouting wird derzeit auch mit vertraulichen VMs und Pod Sandboxing nicht unterstützt.

  • Das eBPF-Hostrouting kann nur für alle Knoten in einem Cluster aktiviert werden. Hybridknotenszenarien werden nicht unterstützt.

  • Windows-Knoten werden von Azure CNI Powered by Cilium und in der Folge von eBPF Host Routing nicht unterstützt.

  • eBPF-Hostrouting kann nicht mit statischem Ausgangsgateway verwendet werden.

  • Istio Ambient wird bei einer selbstverwalteten Installation mit ACNS-Performancemodus nicht unterstützt.

Pricing

Von Bedeutung

Die erweiterten Container-Netzwerkdienste werden in Zukunft ein kostenpflichtiges Angebot sein. Weitere Informationen zu den Preisen finden Sie unter Erweiterte Container-Netzwerkdienste – Preise.

Nächste Schritte