使用高级容器网络服务启用 eBPF 主机路由

本文介绍如何在 Azure Kubernetes 服务(AKS)群集上启用高级容器网络服务(ACNS)的 eBPF 主机路由。

要求和参数

要求或参数 支持的版本或值 Description
Azure CLI 版本 2.71.0 或更高版本 Azure CLI版本必须是 2.71.0 或更高版本才能支持 eBPF 主机路由。
Kubernetes 版本 1.33 或更高版本 Kubernetes 版本必须是 1.33 或更高版本才能支持 eBPF 主机路由。
Node 操作系统 Azure Linux 3.0 或 Ubuntu 24.04 eBPF 主机路由仅在使用 Azure Linux 3.0 或 Ubuntu 24.04 且由 Cilium 提供支持的 Azure CNI 集群上受支持。
数据平面 由 Cilium 提供支持的 Azure CNI eBPF 主机路由仅在使用由 Cilium 提供支持的 Azure CNI 的 AKS 群集上受支持。

查看“ 限制” 部分,了解节点要求和与现有 iptable 规则的兼容性。

启用高级容器网络服务和 eBPF 主机路由

若要继续,必须有一个启用了高级容器网络服务的 AKS 群集。

具有高级容器网络服务标志 az aks create--enable-acns 命令创建一个新的 AKS 群集,它具有所有高级容器网络服务功能。 这些功能包括:

  • 容器网络可观测性:提供对您的网络流量的深入见解。 若要了解详细信息,请访问容器网络可观测性

  • 容器网络安全:提供 FQDN 筛选等安全功能。 若要了解详细信息,请访问容器网络安全

  • 容器网络性能: 提高 Pod 网络流量的延迟和吞吐量。 若要了解详细信息,请访问 容器网络性能

使用 az group create 命令为群集创建Azure资源组。

export LOCATION="<location>"

az group create --location $LOCATION --name <resourcegroup-name>

通过启用 ACNS --enable-acns 并通过 --acns-datapath-acceleration-mode BpfVeth 设置加速模式,使用 eBPF 主机路由创建新的 AKS 群集。

# Set environment variables for the AKS cluster name and resource group. Make sure to replace the placeholders with your own values.
export CLUSTER_NAME="<aks-cluster-name>"
export RESOURCE_GROUP="<resourcegroup-name>"
export LOCATION="<location>"
export OS_SKU="<os-sku>" # Use AzureLinux or Ubuntu2404
 
# Create an AKS cluster
az aks create \
    --name $CLUSTER_NAME \
    --resource-group $RESOURCE_GROUP \
    --location $LOCATION \
    --network-plugin azure \
    --network-plugin-mode overlay \
    --network-dataplane cilium \
    --kubernetes-version 1.33 \
    --os-sku $OS_SKU \
    --enable-acns \
    --acns-datapath-acceleration-mode BpfVeth \
    --generate-ssh-keys

在现有群集上使用高级容器网络服务启用 eBPF 主机路由

az aks update具有高级容器网络服务标志--enable-acns的命令更新现有的 AKS 群集,--acns-datapath-acceleration-mode BpfVeth以启用高级容器网络服务功能,其中包括容器网络可观测性容器网络安全容器网络性能

注释

在现有群集上启用 eBPF 主机路由可能会中断现有连接。

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --enable-acns \
    --acns-datapath-acceleration-mode BpfVeth

在现有群集上禁用 eBPF 主机路由

可以独立禁用 eBPF 主机路由,而不会影响其他 ACNS 功能。 若要禁用它,请设置标志 --acns-datapath-acceleration-mode=None

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --enable-acns \
    --acns-datapath-acceleration-mode None