Abilitare il routing host eBPF con Servizi avanzati di rete per contenitore

Questo articolo illustra come abilitare il routing host eBPF con Advanced Container Networking Services (ACNS) nei cluster Servizio Azure Kubernetes (AKS).

Requisiti e parametri

Requisito o parametro Versioni o valori supportati Descrizione
interfaccia della riga di comando di Azure versione 2.71.0 o versione successiva La versione interfaccia della riga di comando di Azure deve essere 2.71.0 o successiva per supportare il routing host eBPF.
Versione di Kubernetes 1.33 o versione successiva La versione di Kubernetes deve essere 1.33 o successiva per supportare il routing host eBPF.
Sistema operativo nodo Azure Linux 3.0 o Ubuntu 24.04 Il routing host eBPF è supportato solo in Azure CNI basato su cluster Cilium con Azure Linux 3.0 o Ubuntu 24.04.
Piano dati Azure CNI con tecnologia Cilium Il routing host eBPF è supportato solo sui cluster AKS che usano Azure CNI con Cilium.

Vedere la sezione Limitazioni per i requisiti dei nodi e la compatibilità con le regole iptable esistenti.

Abilitare i Servizi Avanzati di Networking per Container e il routing host basato su eBPF

Per continuare, è necessario disporre di un cluster AKS con i Servizi di Rete Avanzati per i Contenitori abilitati.

Il comando az aks create con il flag Advanced Container Networking Services, --enable-acns, crea un nuovo cluster AKS con tutte le funzionalità avanzate di networking per container. Queste funzionalità includono:

Creare un gruppo di risorse Azure per il cluster usando il comando az group create.

export LOCATION="<location>"

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

Creare un nuovo cluster di servizio Azure Kubernetes con il routing host basato su eBPF abilitando ACNS tramite --enable-acns e impostando la modalità di accelerazione con --acns-datapath-acceleration-mode BpfVeth.

# 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

Abilitare il routing host eBPF con Advanced Container Networking Services in un cluster esistente

Il az aks update comando con il flag Advanced Container Networking Services, --enable-acns, aggiorna un cluster del servizio Azure Kubernetes esistente con --acns-datapath-acceleration-mode BpfVeth per abilitare le funzionalità avanzate di Servizi di rete contenitore che includono l'osservabilità della rete dei contenitori, la sicurezza di rete dei contenitori e le prestazioni di rete dei contenitori.

Annotazioni

L'abilitazione del routing host eBPF in un cluster esistente può interrompere le connessioni esistenti.

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

Disabilitare il routing host eBPF in un cluster esistente

Il routing host eBPF può essere disabilitato in modo indipendente senza influire su altre funzionalità ACNS. Per disabilitarla, impostare il flag --acns-datapath-acceleration-mode=None.

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