你当前正在访问 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 Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
- 本文中的步骤所需的 Azure CLI 最低版本为 2.61.0。 运行
az --version
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
安装 aks-preview Azure CLI 扩展
使用 az extension add
或 az 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-acns
的 az aks create
命令创建一个新的 AKS 群集,它具有所有高级容器网络服务功能。 这些功能包括:
注意
从 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-acns
的 az 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
后续步骤
有关容器网络可观测性及其功能的详细信息,请参阅什么是容器网络可观测性?。
有关容器网络安全及其功能的详细信息,请参阅什么是容器网络安全?