まとめ
この記事では、操作を正常に完了できるように、Azure Kubernetes Service (AKS) クラスターを作成、デプロイ、または更新するときの InvalidResourceReference エラーのトラブルシューティングを行います。
現象 1
AKS クラスターを作成しようとすると、次のエラー メッセージが表示されます。
Code="無効なリソース参照"
Message="リソース"
/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
該当するものが見つかりませんでした。 参照先のリソースが存在し、両方のリソースが同じリージョンにあることを確認してください。詳細=[]
原因 1
この問題の考えられる原因を次に示します。
異なるリージョン内のリソース間に不一致が存在します。
現象 1 の例は、仮想ネットワークと仮想マシン スケール セットが同じリージョンにないことを示しています。 リソースは異なるリージョンにあるため、スケール セット インスタンスを作成することはできません。
参照先のリソースが手動で変更または削除されました。
解決策 1
異なるリージョン内のリソース間に不一致が存在する場合は、リソースを確認して、それらが同じリージョンにあることを確認します。 この例では、AKS クラスターが構築されているリージョンを変更するか、同じリージョンに新しい仮想ネットワークを作成します。
参照先のリソースが手動で変更または削除された場合、 MC_ リソース グループ 内の基になる IaaS リソースを手動で変更することはサポートされていないため、この問題を解決することが困難な場合があります。 考えられる解決策は、削除されたリソースを再作成し、VMSS と再関連付けしてから、AKS クラスターで更新をトリガーすることです。 ただし、これはサポートされていないシナリオであるため、このソリューションの成功を保証することはできません。
現象 2
AKS クラスターを更新しようとすると、次のエラー メッセージが表示されます。
Code="無効なリソース参照"
Message="リソース"
/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="リソース"詳細=[]
原因 2
この問題は、ロード バランサーの既定の送信規則 "aksOutboundRule" が手動で変更された場合に発生する可能性があります。 この予期しない変更は、通常、 load-balancer-outbound-ips パラメーターを指定せずにクラスターを更新した場合に、送信 IP が更新されるときに発生します。
解決策 2
クラスターを更新するには、az aks update パラメーターを指定して load-balancer-outbound-ips コマンドを再実行します。 パラメーター値としてパブリック IP のリソース ID を使用します。 詳細については、「 独自の送信パブリック IP を使用してクラスターを更新する」を参照してください。
現象 3
ノード プールを作成、スケーリング、アップグレード、または更新すると、次の例のような InvalidResourceReference エラー メッセージが表示され、操作が失敗します。
Code="無効なリソース参照"
Message="VMSS の作成または更新
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft。Compute/virtualMachineScaleSets/aks-nodepool-vmss
できませんでした。 資源
/subscriptions/<subscription-id-guid>/resourceGroups/<vnet-resource-group>/providers/Microsoft。Network/virtualNetworks/<vnet-name>
リソースによって参照される
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft。Compute/virtualMachineScaleSets/aks-nodepool-vmss
が見つかりませんでした。
原因3
この問題は、クラスターの作成時に AKS クラスターに関連付けられた仮想ネットワークが別のリソース グループまたはサブスクリプションに移動されたときに発生します。 AKS と基になる仮想マシン スケール セット (VMSS) は、元の仮想ネットワーク リソース ID を引き続き参照します。 その結果、仮想ネットワークが元のリソース パスで見つからないため、VMSS の更新を必要とするノード プール操作は失敗します。
AKS クラスターの仮想ネットワークの移動はサポートされていません。 ネットワーク リソースの移動操作のサポートに関する記事に記載されているように、AKS クラスターの仮想ネットワークを移動すると、AKS クラスターは動作を停止します。
解決策 3
移動後に仮想ネットワークを参照するように既存の AKS クラスターを更新する方法はサポートされていません。 Microsoft サポートと AKS 製品グループは、クラスターの基になるネットワーク参照を変更できません。
この問題を解決するには、現在の場所にある仮想ネットワークを参照する新しい AKS クラスターを作成し、ワークロードを新しいクラスターに移行してから、影響を受けるクラスターの使用を停止します。