Advanced Container Networking Services で eBPF ホスト ルーティングを有効にする (プレビュー)

Important

高度なコンテナー ネットワーク サービスを使用した eBPF ホスト ルーティングは現在プレビュー段階です。
Azureのベータ版、プレビュー版、またはまだ一般公開されていない機能に適用される法的条件については、Microsoft Azure プレビューの追加利用規約をご覧ください。

この記事では、Azure Kubernetes Service (AKS) クラスターで高度なコンテナー ネットワーク サービス (ACNS) を使用して eBPF ホスト ルーティングを有効にする方法について説明します。

要件とパラメーター

要件またはパラメーター サポートされているバージョンまたは値 説明
機能フラグ AdvancedNetworkingPerformancePreview この機能フラグは、Cilium AKS クラスターを使用する CNI Azure eBPF ホスト ルーティングを有効にするには、サブスクリプションに登録する必要があります。
Azure CLI バージョン 2.71.0 以降 eBPF ホスト ルーティングをサポートするには、Azure CLI バージョンが 2.71.0 以降である必要があります。
Kubernetes バージョン 1.33 以降 eBPF ホスト ルーティングをサポートするには、Kubernetes バージョンが 1.33 以降である必要があります。
ノードのオペレーティング システム 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 ルールとの互換性については、「 制限事項」 セクションを確認してください。

aks-preview Azure CLI 拡張機能をインストールする

Important

AKS のプレビュー機能は、セルフサービスのオプトイン単位で利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 AKS プレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は運用環境での使用を目的としていません。 詳細については、次のサポート記事を参照してください。

az extension add または az extension update コマンドを使用して、Azure CLI プレビュー拡張機能をインストールまたは更新します。

aks-preview Azure CLI 拡張機能の最小バージョンは 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

AdvancedNetworkingPerformancePreview フィーチャーフラグを登録する

AdvancedNetworkingPerformancePreview コマンドを使用して、az feature register 機能フラグを登録します。

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

az feature show コマンドを使用して、登録が成功したことを確認します。 登録が完了するまで数分かかります。

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

機能に Registered が表示されたら、Microsoft.ContainerService コマンドを使用して、az provider register リソース プロバイダーの登録を更新します。

高度なコンテナー ネットワーク サービスと eBPF ホスト ルーティングを有効にする

これ以降の作業では、アドバンスト コンテナー ネットワークサービスが有効になっている AKS クラスターが必要となります。

az aks create コマンドにアドバンスト コンテナー ネットワークサービスのフラグ --enable-acns を指定すると、アドバンスト コンテナー ネットワークサービスのすべての機能を備えた新しい AKS クラスターが作成されます。 これらの機能には以下が含まれます。

  • コンテナー ネットワークの監視: トラフィックに関する分析情報を提供します。 詳細については、コンテナー ネットワークの監視に関するページを参照してください。

  • コンテナー ネットワークのセキュリティ: FQDN フィルタリングなどのセキュリティ機能を提供します。 詳細については、コンテナー ネットワークのセキュリティに関するページを参照してください。

  • Container Network Performance: ポッド ネットワーク トラフィックの待機時間とスループットが向上します。 詳細については、Container Network Performance に関するページを参照してください。

az group create コマンドを使用して、クラスターのAzure リソース グループを作成します。

export LOCATION="<location>"

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

--enable-acnsを介して 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 ホスト ルーティングを有効にする

Advanced Container Networking Services フラグを使用した az aks update コマンドは、--enable-acns--acns-datapath-acceleration-mode BpfVethを使って既存の AKS クラスターを更新し、高度なコンテナネットワーキングサービスを有効にします。この機能には、コンテナネットワークオブザーバビリティ、コンテナネットワークセキュリティ、コンテナネットワークパフォーマンスが含まれます。

既存のクラスターで 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