這很重要
eBPF Host Routing with Advanced Container Networking Services 目前為預覽版。
請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
本文說明如何在 Azure Kubernetes Service (AKS) 叢集上使用進階容器網路服務 (ACNS) 啟用 eBPF 主機路由。
先決條件
- 具有有效訂閱的 Azure 帳戶。 如果您沒有帳戶,請在開始之前建立 免費帳戶 。
使用 Azure Cloud Shell 中的 Bash 環境。 如需詳細資訊,請參閱開始使用 Azure Cloud Shell。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱 如何在 Docker 容器中執行 Azure CLI。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱 使用 Azure CLI 向 Azure 進行驗證。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能的詳細資訊,請參閱 使用和管理 Azure CLI 的擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
本文步驟所需的 Azure CLI 最低版本為 2.71.0。 若要尋找版本,請執行
az --version。 如果您需要安裝或升級,請參閱 安裝 Azure CLI。eBPF 主機路由僅支援由 Cilium 提供支援的 Azure CNI。 如需受控 Cilium 叢集的詳細資訊,請參閱 設定由 Cilium 提供支援的 Azure CNI 。
檢閱 限制 區段,以瞭解節點需求以及與現有 iptable 規則的相容性。
安裝 Azure CLI aks-preview 擴充功能
這很重要
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 篩選等安全性功能。 若要深入瞭解,請造訪 容器網路安全性。
容器網路效能: 改善 Pod 網路流量的延遲和輸送量。 若要深入瞭解,請瀏覽 容器網路效能
備註
從 Kubernetes 1.33 版開始,具有 Cilium 資料平面的叢集支援具有 eBPF 主機路由的容器網路效能。
警告
只有具有 Ubuntu 24.04 或 Azure Linux 3.0 的節點才相容。 如果使用 Ubuntu 24.04,請參閱 預覽文件 以啟用功能旗標。
使用 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
相關內容
- 取得 適用於 AKS 的進階容器網路服務詳細資訊。
- 探索進階 容器網路服務中的容器網路可檢視性功能 。