Résoudre les problèmes liés au code d’erreur InvalidResourceReference

Résumé

Utilisez cet article pour résoudre l’erreur InvalidResourceReference lorsque vous créez, déployez ou mettez à jour un cluster Azure Kubernetes Service (AKS) afin de pouvoir effectuer l’opération avec succès.

Symptôme 1

Lorsque vous essayez de créer un cluster AKS, vous recevez le message d’erreur suivant :

Code=« InvalidResourceReference »

Message="Ressource
/subscriptions/<subscription-id-guid>/resourceGroups/MyResourceGroup/providers/Microsoft. Network/virtualNetworks/vnet-otcom/subnets/Subnet-AKS
référencé par ressource
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster-AKS_JAPANEAST/providers/Microsoft. Compute/virtualMachineScaleSets/aks-nodepool-vmss
n’a pas été trouvé. Assurez-vous que la ressource référencée existe et que les deux ressources se trouvent dans la même région. »

Details=[]

Première cause

Voici les causes possibles de ce problème :

  • Une incompatibilité existe entre les ressources dans différentes régions.

    L’exemple de Symptôme 1 montre que le réseau virtuel et l'ensemble d'échelles de machines virtuelles ne se trouvent pas dans la même région. Étant donné que les ressources se trouvent dans différentes régions, il est impossible de créer l’instance de groupe identique.

  • La ressource référencée a été modifiée ou supprimée manuellement.

Solution 1

Si une incompatibilité existe entre les ressources dans différentes régions, passez en revue les ressources pour vous assurer qu’elles se trouvent dans la même région. Dans cet exemple, modifiez la région dans laquelle le cluster AKS est généré ou créez un réseau virtuel dans la même région.

Si la ressource référencée a été modifiée ou supprimée manuellement, il peut être difficile de résoudre ce problème, car elle n’est pas prise en charge pour modifier manuellement les ressources IaaS sous-jacentes dans le groupe de ressources MC_ . Une solution possible peut être de recréer la ressource supprimée, de la réassocier avec vmSS, puis de déclencher une mise à jour sur le cluster AKS. Toutefois, comme il s’agit d’un scénario non pris en charge, la réussite de cette solution ne peut pas être garantie.

Symptôme 2

Lorsque vous essayez de mettre à jour un cluster AKS, vous recevez le message d’erreur suivant :

Code=« InvalidResourceReference »
Message="Ressource
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/<frontendIP_ID> référencé par la ressource /subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/<frontend_IP_rule> introuvable. Assurez-vous que la ressource référencée existe et que les deux ressources se trouvent dans la même région. »
Message="Ressource

Details=[]

Deuxième cause

Ce problème peut se produire si la règle sortante par défaut « aksOutboundRule » sur l’équilibreur de charge est modifiée manuellement. Cette modification inattendue se produit généralement lorsque l’adresse IP sortante est mise à jour si vous mettez à jour le cluster sans le load-balancer-outbound-ips paramètre.

Solution 2

Réexécutez la az aks update commande avec le load-balancer-outbound-ips paramètre pour mettre à jour votre cluster. Utilisez l’ID de ressource de l’adresse IP publique comme valeur de paramètre. Pour plus d’informations, consultez Mettre à jour le cluster avec votre propre adresse IP publique sortante.

Symptôme 3

Lorsque vous créez, mettez à l’échelle, mettez à niveau ou mettez à jour un pool de nœuds, l’opération échoue avec un message d’erreur InvalidResourceReference semblable à l’exemple suivant :

Code=« InvalidResourceReference »
Message="Créer ou mettre à jour vmSS
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft. Compute/virtualMachineScaleSets/aks-nodepool-vmss
a échoué. Ressource
/subscriptions/<subscription-id-guid>/resourceGroups/<vnet-resource-group>/providers/Microsoft. Network/virtualNetworks/<vnet-name>
référencé par ressource
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft. Compute/virtualMachineScaleSets/aks-nodepool-vmss
n’a pas été trouvé."

Cause 3

Ce problème se produit lorsque le réseau virtuel associé au cluster AKS lors de la création du cluster est déplacé vers un autre groupe de ressources ou un autre abonnement. AKS et le groupe de machines virtuelles identiques (VMSS) sous-jacent continuent à faire référence à l’ID de ressource du réseau virtuel d’origine. Par conséquent, les opérations de pool de nœuds qui nécessitent des mises à jour VMSS échouent, car le réseau virtuel ne se trouve plus sur son chemin de ressource d’origine.

Le déplacement du réseau virtuel d’un cluster AKS n’est pas pris en charge. Comme indiqué dans la prise en charge des opérations de déplacement des ressources réseau, si vous déplacez le réseau virtuel d’un cluster AKS, le cluster AKS cesse de fonctionner.

Solution 3

Il n’existe aucune méthode prise en charge pour mettre à jour un cluster AKS existant pour référencer le réseau virtuel après son déplacement. Support Microsoft et le groupe de produits AKS ne peuvent pas modifier les références réseau sous-jacentes du cluster.

Pour résoudre le problème, créez un cluster AKS qui référence le réseau virtuel à son emplacement actuel, migrez vos charges de travail vers le nouveau cluster, puis désactivez le cluster concerné.

Plus d’informations

Résolution générale des problèmes de création de cluster AKS