分享方式:


什麼是進階容器網路服務?

進階容器網路服務是一套服務,旨在增強 Azure Kubernetes Service (AKS) 叢集的網路功能。 套件可解決新式容器化應用程式中的挑戰,例如可檢視性、安全性和合規性。

使用進階容器網路服務,重點在於提供順暢且整合的體驗,讓您能夠維護健全的安全性狀態,並深入瞭解您的網路流量和應用程式效能。 這可確保您的容器化應用程式不僅安全,而且符合或超過您的效能和可靠性目標,讓您有信心管理及調整基礎結構。

進階容器網路服務中包含什麼功能?

進階容器網路服務包含分成兩個要素的功能:

  • 可觀察性:進階容器網路服務套件的就職功能,將 Hubble 控制平面的強大功能同時帶入 Cilium 和非 Cilium Linux 數據平面。 這些功能旨在提供網路和效能的可見度。

  • 安全性:針對使用由 Cilium 提供的 Azure CNI 叢集,網路原則包含完整域名 (FQDN) 篩選,以處理維護設定的複雜性。

容器網路可觀察性

容器網路可觀察性可讓您使用網路相關監視和診斷工具,讓您瞭解容器化工作負載。 它會將 Hubble 計量、Hubble 的命令行介面 (CLI) 和 AKS 叢集上的 Hubble 使用者介面 (UI) 解除鎖定,讓您能夠偵測並判斷 AKS 中網路相關問題的根本原因。 這些功能可確保容器化應用程式安全且符合規範,讓您能夠自信地管理基礎結構。

如需容器網路可觀察性的詳細資訊,請參閱 什麼是容器網路可觀察性?

容器網路安全性

進階容器網路服務內的容器網路安全性功能可在跨叢集實作時,更充分地控制網路安全策略,以方便使用。 使用由 Cilium 提供的 Azure CNI 叢集可以存取 DNS 型原則。 相較於以IP為基礎的原則,使用方便使用,允許使用功能變數名稱限制對外部服務的輸出存取。 設定管理會使用 FQDN 來簡化,而不是動態變更 IP。

如需容器網路安全性及其功能的詳細資訊,請參閱 什麼是容器網路安全性?

定價

重要

進階容器網路服務是付費供應專案。 如需定價的詳細資訊,請參閱進階容器網路服務定價

在您的叢集上設定進階容器網路服務

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶
  • 本文步驟所需的 Azure CLI 最低版本為 2.56.0。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI

安裝 aks-preview Azure CLI 延伸模組

使用 az extension addaz extension update 命令來安裝或更新 Azure CLI 預覽延伸模組。

# 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

建立資源群組

資源群組是在其中部署與管理 Azure 資源的邏輯容器。 使用 az group create 命令建立資源群組。

# Set environment variables for the resource group name and location. Make sure to replace the placeholders with your own values.
export RESOURCE_GROUP="<resource-group-name>"
export LOCATION="<azure-region>"
# Create a resource group
az group create --name $RESOURCE_GROUP --location $LOCATION

啟用和停用 AKS 叢集中的進階容器網路服務

使用進階容器網路服務建立 AKS 叢集

具有 az aks create 進階容器網路服務旗標的 --enable-acns命令會建立具有所有進階容器網路服務功能的新 AKS 叢集。 這些功能包括:

  • 容器網路可檢視性: 提供網路流量的深入解析。 若要深入瞭解,請造訪 容器網路可觀察性

  • 容器網路安全性: 提供 FQDN 篩選等安全性功能。 若要深入瞭解,請造訪 容器網路安全性

注意

具有 Cilium 數據平面的叢集支援從 Kubernetes 1.29 版開始的容器網路可檢視性和容器網路安全性。

# Set an environment variable for the AKS cluster name. Make sure to replace the placeholder with your own value.
export CLUSTER_NAME="<aks-cluster-name>"

# Create an AKS cluster
az aks create \
    --name $CLUSTER_NAME \
    --resource-group $RESOURCE_GROUP \
    --generate-ssh-keys \
    --location eastus \
    --max-pods 250 \
    --network-plugin azure \
    --network-plugin-mode overlay \
    --network-dataplane cilium \
    --node-count 2 \
    --pod-cidr 192.168.0.0/16 \
    --kubernetes-version 1.29 \
    --enable-acns

在現有叢集上啟用進階容器網路服務

具有az aks update進階容器網路服務旗標的--enable-acns命令會使用所有進階容器網路服務功能來更新現有的 AKS 叢集,其中包括容器網路可檢視性和容器網路安全性功能。

注意

只有具有 Cilium 數據平面的叢集支援進階容器網路服務的容器網路安全性功能。

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --enable-acns

停用進階容器網路服務

--disable-acns 標會停用現有 AKS 叢集上的所有進階容器網路服務功能,包括容器網路可檢視性和容器網路安全性

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --disable-acns

停用選取 [進階容器網络服務] 功能

停用容器網路可檢視性

若要停用容器網路可觀察性功能,而不會影響其他進階容器網路服務功能,請使用 --enable-acns--disable-acns-observability

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --enable-acns \
    --disable-acns-observability 

停用容器網路安全性

若要停用容器網路安全性功能,而不會影響其他進階容器網路服務功能,請使用 --enable-acns--disable-acns-security

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --enable-acns \
    --disable-acns-security 

下一步