排查 InvalidResourceReference 错误代码问题

本文介绍如何识别和解决InvalidResourceReference尝试创建和部署 Microsoft Azure Kubernetes 服务 (AKS) 群集或更新 AKS 群集时可能发生的错误。

症状 1

尝试创建 AKS 群集时,会收到以下错误消息:

Code=“InvalidResourceReference”

Message=“Resource
/subscriptions/<subscription-id-guid>/resourceGroups/MyResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet-otcom/subnets/Subnet-AKS
由资源引用
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster-AKS_JAPANEAST/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool-vmss
未找到。 请确保引用的资源存在,并且这两个资源位于同一区域。

Details=[]

原因 1

下面是此问题的可能原因:

  • 不同区域中的资源之间存在不匹配。

    症状 1 中的示例显示虚拟网络和虚拟机规模集不在同一区域中。 由于资源位于不同的区域,因此无法创建规模集实例。

  • 已手动修改或删除引用的资源。

解决方案 1

如果不同区域中的资源之间存在不匹配,请查看资源以确保它们位于同一区域。 在此示例中,修改正在生成 AKS 群集的区域,或在同一区域中创建新的虚拟网络。

如果引用的资源已被手动修改或删除,则可能无法解决此问题,因为不支持手动修改MC_资源组中的基础 IaaS 资源。 可能的解决方案可能是重新创建已删除的资源,将其与 VMSS 关联,然后在 AKS 群集上触发更新。 但是,由于这是不支持的方案,因此无法保证此解决方案的成功。

症状 2

尝试更新 AKS 群集时,会收到以下错误消息:

Code=“InvalidResourceReference”
Message=“Resource
找不到资源 /subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/<frontendIP_ID>引用的资源 /subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/<frontend_IP_rule。>请确保引用的资源存在,并且这两个资源位于同一区域。
Message=“Resource

Details=[]

原因 2

如果手动修改负载均衡器上的默认出站规则“aksOutboundRule”,则可能会出现此问题。 如果在没有 load-balancer-outbound-ips 参数的情况下更新群集,则通常会在更新出站 IP 时进行意外修改。

解决方案 2

使用load-balancer-outbound-ips参数重新运行az aks update命令以更新群集。 使用公共 IP 的资源 ID 作为参数值。 有关详细信息,请参阅 使用自己的出站公共 IP 更新群集。

详细信息

AKS 群集创建问题的常规故障排除

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区