Solucionar problemas do código de erro InvalidResourceReference

Resumo

Use este artigo para solucionar o InvalidResourceReference erro ao criar, implantar ou atualizar um cluster do AKS (Serviço de Kubernetes do Azure) para que você possa concluir a operação com êxito.

Sintoma 1

Ao tentar criar um cluster do AKS, você recebe a seguinte mensagem de erro:

Code="ReferênciaRecursoInválida"

Message="Recurso
/subscriptions/<subscription-id-guid>/resourceGroups/MyResourceGroup/providers/Microsoft. Rede/virtualNetworks/vnet-otcom/sub-redes/Sub-rede-AKS
referenciado pelo recurso
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster-AKS_JAPANEAST/providers/Microsoft. Compute/virtualMachineScaleSets/aks-nodepool-vmss
não foi encontrado. Verifique se o recurso referenciado existe e se ambos os recursos estão na mesma região."

Details=[]

Causa 1

Aqui estão as possíveis causas deste problema:

  • Existe uma incompatibilidade entre recursos em regiões diferentes.

    O exemplo no Sintoma 1 mostra que a rede virtual e o conjunto de dimensionamento de máquinas virtuais não estão na mesma região. Como os recursos estão em regiões diferentes, é impossível criar a instância de conjunto de escala.

  • O recurso referenciado foi modificado ou excluído manualmente.

Solução 1

Se houver uma incompatibilidade entre recursos em regiões diferentes, examine os recursos para garantir que eles estejam na mesma região. Neste exemplo, modifique a região em que o cluster do AKS está sendo criado ou crie uma nova rede virtual na mesma região.

Se o recurso referenciado tiver sido modificado ou excluído manualmente, talvez seja difícil resolver esse problema porque não há suporte para modificar manualmente os recursos de IaaS subjacentes no grupo de recursos MC_ . Uma solução possível pode ser recriar o recurso excluído, reassociá-lo com o VMSS e disparar uma atualização no cluster do AKS. No entanto, como este é um cenário sem suporte, o sucesso dessa solução não pode ser garantido.

Sintoma 2

Ao tentar atualizar um cluster do AKS, você recebe a seguinte mensagem de erro:

Code="ReferênciaRecursoInválida"
Message="Recurso
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/<frontendIP_ID> referenciado pelo recurso /subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/<frontend_IP_rule> não foi encontrado. Verifique se o recurso referenciado existe e se ambos os recursos estão na mesma região.
Message="Recurso

Details=[]

Causa 2

Esse problema poderá ocorrer se a regra de saída padrão "aksOutboundRule" no balanceador de carga for modificada manualmente. Essa modificação inesperada normalmente ocorre quando o IP de saída é atualizado se você atualizar o cluster sem o load-balancer-outbound-ips parâmetro.

Solução 2

Execute novamente o az aks update comando com o load-balancer-outbound-ips parâmetro para atualizar o cluster. Use o ID do recurso do IP público como o valor do parâmetro. Para obter mais informações, consulte Atualizar o cluster com seu próprio IP público de saída.

Sintoma 3

Quando você cria, dimensiona, faz upgrade ou atualiza um pool de nós, a operação falha com uma mensagem de erro InvalidResourceReference semelhante ao exemplo a seguir:

Code="ReferênciaRecursoInválida"
Message="Criar ou atualizar VMSS
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft. Compute/virtualMachineScaleSets/aks-nodepool-vmss
falhou. Recurso
/subscriptions/<subscription-id-guid>/resourceGroups/<vnet-resource-group>/providers/Microsoft. Network/virtualNetworks/<vnet-name>
referenciado pelo recurso
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft. Compute/virtualMachineScaleSets/aks-nodepool-vmss
não foi encontrado."

Causa 3

Esse problema ocorre quando a rede virtual associada ao cluster do AKS durante a criação do cluster é movida para outro grupo de recursos ou assinatura. O AKS e o VMSS (Conjunto de Dimensionamento de Máquinas Virtuais) subjacente continuam a referenciar a ID do recurso de rede virtual original. Como resultado, as operações de pool de nós que exigem atualizações do VMSS falham porque a rede virtual não pode mais ser encontrada em seu caminho de recurso original.

Não há suporte para mover a rede virtual de um cluster do AKS. Conforme documentado no suporte à operação Move para recursos de rede, se você mover a rede virtual para um cluster do AKS, o cluster do AKS deixará de funcionar.

Solução 3

Não há nenhum método com suporte para atualizar um cluster do AKS existente para fazer referência à rede virtual depois que ele for movido. Suporte da Microsoft e o grupo de produtos do AKS não podem modificar as referências de rede subjacentes do cluster.

Para resolver o problema, crie um cluster do AKS que faça referência à rede virtual em seu local atual, migre suas cargas de trabalho para o novo cluster e, em seguida, desative o cluster afetado.

Mais informações

Solução de problemas gerais de criação de cluster do AKS