Habilitar o roteamento de host do eBPF com serviços avançados de rede de contêiner (versão prévia)

Importante

O Roteamento de Host eBPF com Serviços de Rede Avançados de Contêineres está atualmente em VERSÃO PRÉVIA.
Consulte os Termos Suplementares de Uso para visualizações do Microsoft Azure para termos legais que se aplicam a recursos do Azure que estão em versão beta, prévia ou ainda não liberados para disponibilidade geral para o público.

Este artigo mostra como habilitar o roteamento de host eBPF com os Serviços Avançados de Rede de Contêiner (ACNS) em clusters do Azure Kubernetes Service (AKS).

Requisitos e parâmetros

Requisito ou parâmetro Versões ou valores com suporte Descrição
Sinalizador de recurso AdvancedNetworkingPerformancePreview Essa opção de recurso precisa ser registrada em sua assinatura para habilitar o roteamento de host eBPF em clusters do Azure CNI com tecnologia Cilium AKS.
Versão do Azure CLI 2.71.0 ou posterior A versão Azure CLI deve ser 2.71.0 ou posterior para dar suporte ao roteamento de host eBPF.
Versão do Kubernetes 1,33 ou posterior A versão do Kubernetes deve ser 1.33 ou posterior para dar suporte ao Roteamento de Host eBPF.
Sistema operacional do nó Azure Linux 3.0 ou Ubuntu 24.04 O Roteamento de Host do eBPF tem suporte apenas em Azure CNI alimentado por clusters Cilium com Azure Linux 3.0 ou Ubuntu 24.04.
Plano de dados Azure CNI alimentado por Cilium O Roteamento de Host do eBPF tem suporte apenas em clusters AKS que usam Azure CNI alimentado pelo Cilium.

Examine a seção Limitações para verificar os requisitos de nó e a compatibilidade com as regras iptables existentes.

Instalar a extensão aks-preview Azure CLI

Importante

As funcionalidades em versão preliminar do AKS estão disponíveis de forma optativa e por autoatendimento. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:

Instale ou atualize a extensão de visualização Azure CLI usando o comando az extension add ou az extension update.

A versão mínima da extensão Azure CLI do aks-preview é 14.0.0b6

# Install the aks-preview extension
az extension add --name aks-preview
# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

Registrar o sinalizador de recurso AdvancedNetworkingPerformancePreview

Registre o sinalizador de recurso AdvancedNetworkingPerformancePreview usando o comando az feature register.

az feature register --namespace "Microsoft.ContainerService" --name "AdvancedNetworkingPerformancePreview"

Verifique o registro bem-sucedido usando o az feature show comando. Leva alguns minutos para que o registro seja concluído.

az feature show --namespace "Microsoft.ContainerService" --name "AdvancedNetworkingPerformancePreview"

Depois que o recurso mostrar Registered, atualize o registro do provedor de recursos Microsoft.ContainerService usando o comando az provider register.

Habilitar serviços avançados de rede de contêiner e roteamento de host eBPF

Para continuar, você deve ter um cluster do AKS com os Serviços Avançados de Rede de Contêineres habilitados.

O comando az aks create com o flag dos Serviços Avançados de Rede de Contêiner, --enable-acns, cria um novo cluster AKS com todos os recursos dos Serviços Avançados de Rede de Contêiner. Esses recursos incluem:

Crie um grupo de recursos Azure para o cluster usando o comando az group create.

export LOCATION="<location>"

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

Crie um novo cluster do AKS com Roteamento de Host do eBPF, habilitando o ACNS através do --enable-acns e definindo o modo de aceleração com o --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

Habilitar o roteamento de host do eBPF com serviços avançados de rede de contêiner em um cluster existente

O comando az aks update com o sinalizador --enable-acns dos Serviços Avançados de Rede de Contêiner atualiza um cluster do AKS existente com --acns-datapath-acceleration-mode BpfVeth para habilitar os recursos dos Serviços Avançados de Rede de Contêiner, que incluem a Observabilidade da Rede de Contêiner, a Segurança da Rede de Contêiner e o Desempenho da Rede de Contêiner.

Observação

Habilitar o roteamento de host eBPF em um cluster existente pode interromper conexões existentes.

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

Desabilitando o roteamento de host eBPF em um cluster existente

O Roteamento de Host do eBPF pode ser desabilitado independentemente sem afetar outros recursos do ACNS. Para desabilitá-lo, defina o sinalizador --acns-datapath-acceleration-mode=None.

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