你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

eBPF 主机路由概述(公共预览版)

重要

AKS 预览功能可在自助服务和自愿选择的基础上启用。 预览版按“现状”和“视供应情况”提供,它们不包括在服务级别协议和有限保证范围内。 AKS 预览功能是由客户支持尽最大努力部分覆盖。 因此,这些功能并不适合用于生产。 有关详细信息,请参阅以下支持文章:

随着容器化工作负载在分布式环境中扩展,对高性能、低延迟网络的需求变得至关重要。 eBPF 主机路由是 高级容器网络服务(ACNS) 中以性能为中心的功能,它使用扩展的 Berkeley 数据包筛选器(eBPF)技术优化 Kubernetes 群集中的流量流。 Kubernetes 主机上的传统路由会带来额外开销,这种开销来自主机网络命名空间中对 iptables 和 netfilter 规则的处理。 eBPF 主机路由在旧主机路由方面的优势如下:

  • 在 eBPF 程序中实现路由逻辑。
  • 允许 Cilium 在不调用 iptable 或主机堆栈的情况下做出路由决策。

此直接路径可减少跃点数和处理层数,从而加快数据包传递速度。

主要优势

减少延迟 - 绕过主机中的 iptables 可降低 pod 到 pod 的延迟

吞吐量增加 - 相较于传统路由,可以观察到节点间 Pod 到 Pod 流量的显著改进

减少 CPU 使用率 - 由于删除基于 iptables 的 SNAT 和路由逻辑,CPU 使用率会适度减少

eBPF 主机路由的用例是性能关键型工作负荷,例如高吞吐量微服务、实时服务或 AI/ML 工作负载。 在启用之前,请确保部署环境满足要求。

eBPF 主机路由的组件

iptables blocker - 初始化容器,用于防止将来在主机网络命名空间中安装 iptables 规则(启用 eBPF 主机路由时将绕过此类规则)。

IP Masquerade Agent - 当 eBPF 主机路由处于活动状态时,Cilium 使用基于 BPF 的伪装接管 SNAT 功能,从而使 ip-masq-agent 在技术上变得冗余。 如果 eBPF 主机路由后来被禁用,此代理仍保持运行,以保持一致的行为;但是,eBPF 主机路由处于活动状态时会忽略其 iptables 规则。

注意事项

  • 启用 eBPF 主机路由会导致绕过主机网络命名空间中的 iptables 规则。 因此,AKS 尝试检测并阻止在主机网络名称空间中使用 iptables 规则的群集中启用 eBPF 主机路由。

  • 在启用了 eBPF 主机路由的群集上,AKS 会阻止尝试在主机网络命名空间中安装 iptables 规则。 尝试绕过此块可能会导致群集无法运转。

局限性

  • eBPF 主机路由当前与运行 Ubuntu 24.04 或 Azure Linux 3.0 以外的 OS 的节点不兼容。 机密 VM 和 Pod 沙盒目前也不支持 eBPF 主机路由

  • 只能为群集中的所有节点启用 eBPF 主机路由。 不支持混合节点方案。

  • 由 Cilium 提供支持的 Azure CNI 和扩展 eBPF 主机路由不支持 Windows 节点。

  • Istio 加载项不能与已启用 eBPF 主机路由的群集一起使用。

  • 不支持双堆栈网络。

Pricing

重要

高级容器网络服务是一项付费服务。 有关定价的详细信息,请参阅高级容器网络服务 - 定价

后续步骤