解决 AKS 群集升级期间的 ServiceCidrOverlapExistingSubnetsCidr 错误

本文介绍如何识别和解决尝试 升级 Microsoft Azure Kubernetes 服务(AKS)群集时可能发生的“ServiceCidrOverlapExistingSubnetsCidr”错误。

症状

AKS 群集升级作失败,并显示以下错误消息:

(ServiceCidrOverlapExistingSubnetsCidr)指定的服务 CIDR <service-cidr-1> 与现有的子网 CIDR <subnet-cidr-2 发生冲突>
代码:ServiceCidrOverlapExistingSubnetsCidr
消息:指定的服务 CIDR <service-cidr-1> 与现有子网 CIDR <subnet-cidr-2 冲突>
目标:networkProfile.serviceCIDR

原因

群集的服务地址范围是 Kubernetes 分配给群集中内部服务的虚拟 IP 地址集。 初始群集创建时定义此范围。 范围不应与群集的虚拟网络或任何其他可从群集路由的网络重叠。 有关详细信息,请参阅 部署参数

在 AKS 启动升级作之前,它会检查群集的虚拟网络中是否存在与群集服务 CIDR 重叠的任何现有子网无分类 Inter-Domain 路由(CIDR)地址空间。 如果发现任何此类子网重叠,该操作将生成“ServiceCidrOverlapExistingSubnetsCidr”错误。

若要解决此问题,请使用以下解决方案之一。

解决方案 1:删除重叠子网

注释

在子网没有附加资源的情况下,请使用此解决方案。

  1. 删除子网。 为此,请遵循 “删除子网”中所述的步骤。
  2. 重试 AKS 群集升级操作。

解决方案 2:调整重叠子网地址范围

注释

如果可以更改子网的地址范围,请使用此解决方案。

  1. 更改子网的地址范围。 为此,请遵循 更改子网设置中所述的步骤。
  2. 重试 AKS 群集升级操作。

解决方案 3:使用其他服务 CIDR 重新部署群集

注释

如果无法接受或无法删除重叠子网或调整其配置,请使用此解决方案。 创建群集后,无法更改群集的服务 CIDR。

使用其他服务 CIDR 查看 部署参数 并重新部署群集。

联系我们以获得帮助

如果有疑问,可以询问 Azure 社区支持。 您还可以向Azure反馈社区提交产品反馈。