你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是高级容器网络服务?

高级容器网络服务是一套服务,旨在增强 Azure Kubernetes 服务 (AKS) 群集的网络功能。 该套件可解决新式容器化应用程序中的挑战,例如可观测性、安全性和合规性。

借助高级容器网络服务,专注于提供无缝集成的体验,使你能够保持可靠的安全态势,并深入了解网络流量和应用程序性能。 这可确保容器化应用程序不仅安全,还能达到或超出性能和可靠性目标,从而使你可以自信地管理和缩放基础结构。

高级容器网络服务中包括哪些功能?

高级容器网络服务有两大功能:

  • 可观测性:高级容器网络服务套件的首个功能,将 Hubble 控制平面的强大功能引入 Cilium 和非 Cilium Linux 数据平面。 这些功能用于了解网络和性能。

  • 安全性:对于使用由 Cilium 提供支持的 Azure CNI 的群集,网络策略包括完全限定的域名 (FQDN) 筛选,以应对维护配置的复杂性。

容器网络可观测性

容器网络可观测性为你配备了与网络相关的监视和诊断工具,为容器化工作负载提供可见性。 它可以解锁 AKS 群集上的 Hubble 指标、Hubble 的命令行界面 (CLI) 和 Hubble 用户界面 (UI),为容器化工作负载提供深入、可操作的见解,让你能够检测并确定 AKS 中网络相关问题的根本原因。 这些功能可确保容器化应用程序安全且合规,使你能够自信地管理基础结构。

有关容器网络可观测性的详细信息,请参阅什么是容器网络可观测性?

容器网络安全

高级容器网络服务中的容器网络安全功能可以在跨群集实施网络安全策略时更好地控制这些策略,以便于使用。 使用由 Cilium 提供支持的 Azure CNI 的群集有权访问基于 DNS 的策略。 与基于 IP 的策略相比,该策略更易于使用,因此可以使用域名来限制对外部服务的出口访问。 使用 FQDN(而不是动态更改的 IP)能够简化配置管理。

有关容器网络安全及其功能的详细信息,请参阅什么是容器网络安全?

定价

重要

高级容器网络服务是一项付费服务。 有关定价的详细信息,请参阅高级容器网络服务 - 定价

在群集上设置高级容器网络服务

先决条件

  • 具有活动订阅的 Azure 帐户。 如果还没有该订阅,可以在开始前创建一个免费帐户
  • 本文中的步骤所需的 Azure CLI 最低版本为 2.61.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 群集

具有高级容器网络服务标志 --enable-acnsaz aks create 命令创建一个新的 AKS 群集,它具有所有高级容器网络服务功能。 这些功能包括:

  • 容器网络可观测性:提供对流量的见解。 若要了解详细信息,请访问容器网络可观测性

  • 容器网络安全:提供 FQDN 筛选等安全功能。 若要了解详细信息,请访问容器网络安全

注意

从 Kubernetes 版本 1.29 开始,具有 Cilium 数据平面的群集支持容器网络可观测性和容器网络安全。

# 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

在现有群集上启用高级容器网络服务

具有高级容器网络服务标志 --enable-acnsaz aks update 命令使用所有高级容器网络服务功能(包括容器网络可观测性容器网络安全功能)更新现有 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 

后续步骤