重要
从 2026 年 3 月 31 日起,Azure Kubernetes 服务(AKS)不再支持虚拟机(VM)的默认出站访问。 对于使用 AKS 托管虚拟网络选项 的新 AKS 群集,默认情况下会将群集的 子网放入专用子网 (defaultOutboundAccess = false)。 此设置 不会影响 AKS 管理的群集流量,后者使用显式配置的出站路径。 它可能会影响 不支持的方案,例如将其他资源部署到同一子网中。 使用此 BYO VNet 的群集不受 此更改影响。 在受支持的配置中,无需采取任何行动。 有关此停用的详细信息,请参阅 Azure 更新停用公告。 若要随时了解公告和更新,请关注AKS 发行说明。
默认情况下,AKS 使用标准负载均衡器处理出站流量。 可以为禁止公共 IP 地址或需要额外的出口跃点的方案自定义此配置。
本文介绍 AKS 群集可用的出站连接类型。
注意
现在可以在创建群集后更新 outboundType。
重要
在非专用群集中,AKS 通过群集的出站类型路由和处理 API 服务器流量。 若要防止 AKS 将 API 服务器流量作为公共流量进行处理,请使用 专用群集。
限制
- 设置
outboundType需要将 AKS 群集的vm-set-type指定为VirtualMachineScaleSets,将load-balancer-sku指定为Standard。
AKS 中的出站类型
可以使用以下出站类型配置 AKS 群集:负载均衡器、NAT 网关、用户定义的路由或noneblock。 出站类型仅影响您的集群的出口流量。 有关详细信息,请参阅 入口网络概念。
出站类型:负载均衡器
负载均衡器用于通过 AKS 分配的公共 IP 进行流量出口。 出站类型 loadBalancer 支持 loadBalancer 类型的 Kubernetes 服务,这些服务需要通过由 AKS 资源提供程序创建的负载均衡器进行流量出口。
如果设置了 loadBalancer,AKS 将自动完成以下配置:
- 针对群集出口创建了公共 IP 地址。
- 将该公共 IP 地址分配给负载均衡器资源。
- 为群集中的代理节点设置负载均衡器的后端池。
有关详细信息,请参阅在 AKS 中使用标准负载均衡器。
出站类型:NAT 网关
为 outboundType 选择 managedNATGatewayV2(预览)、managedNATGateway 或 userAssignedNATGateway 时,AKS 会使用 Azure NAT 网关 处理群集出站流量。
- 选择
managedNATGatewayV2或managedNATGateway用于 AKS 管理的虚拟网络。 AKS 为managedNATGatewayV2预配并附加 StandardV2 NAT 网关,为managedNATGateway预配并附加标准 NAT 网关。 建议使用 StandardV2 NAT 网关,因为它默认为区域冗余,并提供更高的带宽和吞吐量。 有关详细信息,请参阅 StandardV2 NAT 网关。 - 若要使用自带虚拟网络,请选择
userAssignedNATGateway。 在创建群集之前创建 NAT 网关。 标准和 StandardV2 两种 NAT 网关 SKU 均受支持。
重要
managedNATGatewayV2出站类型当前处于预览阶段。
若要使用managedNATGatewayV2,请安装最新的Azure CLI和aks-preview扩展版本20.0.0b1或更高版本,并注册ManagedNATGatewayV2Preview功能标志。 有关设置说明,请参阅 将 NAT 网关与 AKS 配合使用。
有关适用于 beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Azure 预览补充使用条款。
有关详细信息,请参阅将 NAT 网关与 AKS 配合使用。
出站类型:用户定义路由
注意
userDefinedRouting 出站类型是一种高级网络方案,需要适当的网络配置。
如果设置 userDefinedRouting,AKS 不会自动配置出口路径。 配置出口路径。
必须将 AKS 群集部署到具有配置的子网的现有虚拟网络中。 由于不使用标准负载均衡器体系结构,必须建立显式出口。 配置一个路由表,其中包含一条指向网关或网络虚拟设备的 0.0.0.0/0 路由,并将该路由表与群集子网关联。
有关详细信息,请参阅通过用户定义的路由配置群集流出量。
群集创建后更新outboundType
若在创建群集后更改出站类型,则会根据需要部署或移除资源,以将群集放入新的出口配置。
下面的表显示了托管虚拟网络和 BYO 虚拟网络的出站类型之间支持的迁移路径。 每行显示出站类型是否可以迁移到位于顶部的类型列表。 “支持”意味着迁移是可能的,而“不支持”或“N/A”则表示它不是。
警告
将出站类型迁移到managedNATGatewayV2userAssignedNATGateway或userDefinedRouting更改群集的出站公共 IP 地址。
如果启用了 授权 IP 范围,请将新的出站 IP 范围添加到授权范围。
警告
更改出站类型会中断网络连接,更改群集的出口 IP 地址,并导致现有连接停机。 更新限制群集流量以使用新出口 IP 地址的任何防火墙规则。
托管 VNet 支持的迁移路径
下表列出了使用 AKS 托管虚拟网络的 AKS 群集支持的出站类型迁移路径。
| 从|到 | loadBalancer |
managedNATGatewayV2 |
managedNATGateway |
none |
block |
|---|---|---|---|---|---|
loadBalancer |
不适用 | 支持 | 支持 | 支持 | 支持 |
managedNATGatewayV2 |
不支持 | 不适用 | 不支持 | 不支持 | 不支持 |
managedNATGateway |
不支持 | 支持 | 不适用 | 支持 | 支持 |
none |
支持 | 支持 | 支持 | 不适用 | 支持 |
block |
支持 | 支持 | 支持 | 支持 | 不适用 |
BYO VNet 支持的迁移路径
下表列出了使用 BYO 虚拟网络的 AKS 群集支持的出站类型迁移路径。
| 从|到 | loadBalancer |
userAssignedNATGateway |
userDefinedRouting |
none |
block |
|---|---|---|---|---|---|
loadBalancer |
不适用 | 支持 | 支持 | 支持 | 不支持 |
userAssignedNATGateway |
支持 | 不适用 | 支持 | 支持 | 不支持 |
userDefinedRouting |
支持 | 支持 | 不适用 | 支持 | 不支持 |
none |
支持 | 支持 | 支持 | 不适用 | 不支持 |
使用 Azure CLI 更新群集出站类型
注意
必须使用 Azure CLI 版本2.56或更高版本来迁移稳定的出站类型。 预览出站类型有额外的 Azure CLI 或扩展要求,相关要求会在各自章节中说明。 使用 az upgrade 更新到最新版本的 Azure CLI。
使用 az aks update 命令更新群集的出站配置。
将群集更新 loadBalancer 为 managedNATGatewayV2
以下命令将群集更新为使用托管 StandardV2 NAT 网关,并分配指定的托管出站 IPv6 地址数。
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type managedNATGatewayV2 --nat-gateway-managed-outbound-ipv6-count <number of managed outbound ipv6>
重要
managedNATGatewayV2出站类型当前处于预览阶段。
在运行更新命令之前,请安装最新的Azure CLI和aks-preview扩展版本20.0.0b1或更高版本,并注册ManagedNATGatewayV2Preview功能标志。 有关设置说明,请参阅 将 NAT 网关与 AKS 配合使用。
有关适用于 beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Azure 预览补充使用条款。 有关详细信息,请参阅将 NAT 网关与 AKS 配合使用。
将群集更新 managedNATGateway 为 loadBalancer
以下命令将群集更新为使用负载均衡器进行出口。 选择一种出站 IP 选项:--load-balancer-managed-outbound-ip-count 用于 AKS 托管的公共 IP,--load-balancer-outbound-ips 用于现有公共 IP 资源 ID,或 --load-balancer-outbound-ip-prefixes 用于现有公共 IP 前缀资源 ID。
az aks update --resource-group <resourceGroup> --name <clusterName> \
--outbound-type loadBalancer \
< --load-balancer-managed-outbound-ip-count <number of managed outbound ip> | --load-balancer-outbound-ips <outbound ip ids> | --load-balancer-outbound-ip-prefixes <outbound ip prefix ids> >
警告
不要重复使用已在先前的出站配置中使用的 IP 地址。
将群集更新 managedNATGateway 为 userDefinedRouting
在运行更新命令之前,请将路由添加到 0.0.0.0/0 与群集子网关联的路由表,并将下一跃点设置为网关或网络虚拟设备。 有关完整配置步骤,请参阅在 Azure Kubernetes 服务 (AKS) 中使用用户定义的路由表自定义群集出口。
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userDefinedRouting
在 BYO VNet 场景中更新从loadBalancer到userAssignedNATGateway的群集
运行更新命令之前,请将现有 NAT 网关与群集子网相关联。 有关完整配置步骤,请参阅 创建托管或用户分配的 NAT 网关。
az aks update --resource-group <resourceGroup> --name <clusterName> --outbound-type userAssignedNATGateway