解决 VirtualNetworkNotInSucceededState 错误代码的问题

症状

创建、升级或缩放 Azure Kubernetes 服务(AKS)群集或节点池时,部署会失败并返回类似于以下消息的错误消息:

Status=400 Code=“VirtualNetworkNotInSucceededState”

消息=“设置虚拟网络所有权失败。 订阅: <订阅>;资源组: <资源组>;虚拟网络名称: <VNET 名称>。 autorest/azure:服务返回错误。 Status=400 Code=“VirtualNetworkNotInSucceededState” Message=“Virtual network /subscriptions/SUBSCRIPTION</resourceGroups/><RESOURCE GROUP>/providers/Microsoft.Network/virtualNetworks/<VNET> 处于更新状态。 它需要处于“成功”状态才能设置资源所有权。

原因

AKS 只能在虚拟网络 provisioningState 的 VNet 状态 成功 时设置所有权。 如果 VNet 处于 “正在更新”、“ 删除”或 “失败 ”状态,则请求将失败。 常见原因包括:

  • 另一个创建、更新或删除操作仍在 VNet 上进行。

  • 以前的网络作失败,并且使 VNet 处于 “失败 ”状态。

  • 多个并行群集或节点池部署正在尝试同时修改同一 VNet。

决议

检查 VNet 的当前预配状态:

az network vnet show -g \<resource-group\> -n \<vnet-name\> \--query \"provisioningState\" -o tsv

如果命令返回成功,则 VNet 已完全设置并已准备好使用,您可以重试 AKS 操作。 如果它返回任何其他值,则 VNet 可能处于失败状态或挂起状态,需要手动干预。 有关更多指导,请遵循 Azure Microsoft.Network 预配状态故障排除中的故障排除步骤。

联系我们以获得帮助

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