Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podsumowanie
Skorzystaj z tego artykułu, aby rozwiązać problemy z błędem InvalidResourceReference podczas tworzenia, wdrażania lub aktualizowania klastra usługi Azure Kubernetes Service (AKS), aby można było pomyślnie ukończyć operację.
Symptom 1
Podczas próby utworzenia klastra usługi AKS zostanie wyświetlony następujący komunikat o błędzie:
Code="InvalidResourceReference"
Message="Zasób
/subscriptions/<subscription-id-guid>/resourceGroups/MyResourceGroup/providers/Microsoft.Network/virtualNetworks/vnet-otcom/subnets/Subnet-AKS
przywoływany przez zasób
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster-AKS_JAPANEAST/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool-vmss
nie znaleziono. Upewnij się, że zasób, do którego się odnosisz, istnieje i że oba zasoby znajdują się w tym samym regionie.Szczegóły=[]
Przyczyna 1
Oto możliwe przyczyny tego problemu:
Istnieje niezgodność między zasobami w różnych regionach.
W przykładzie w objawie 1 pokazano, że sieć wirtualna i zestaw skalowania maszyn wirtualnych nie znajdują się w tym samym regionie. Ponieważ zasoby znajdują się w różnych regionach, nie można utworzyć wystąpienia zestawu skalowania.
Ręcznie zmodyfikowano lub usunięto zasób, do którego się odwołano.
Rozwiązanie 1
Jeśli istnieje niezgodność między zasobami w różnych regionach, przejrzyj zasoby, aby upewnić się, że są one w tym samym regionie. W tym przykładzie zmodyfikuj region, w którym tworzysz klaster usługi AKS, lub utwórz nową sieć wirtualną w tym samym regionie.
Jeśli ręcznie zmodyfikujesz lub usuniesz przywoływalny zasób, możesz napotkać problemy z rozwiązaniem tego problemu, ponieważ proces nie obsługuje ręcznego modyfikowania bazowych zasobów IaaS w grupie zasobów MC_ . Ten problem można rozwiązać, tworząc ponownie usunięty zasób, ponownie kojarząc go z usługą VMSS, a następnie wyzwalając aktualizację w klastrze usługi AKS. Jednak to rozwiązanie nie jest obsługiwane, więc powodzenie nie jest gwarantowane.
Objaw 2
Podczas próby zaktualizowania klastra usługi AKS zostanie wyświetlony następujący komunikat o błędzie:
Code="InvalidResourceReference"
Message="Zasób
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/<frontendIP_ID> zreferowany przez zasób /subscriptions/<>/resourceGroups/MC_MyResourceGroup/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/<frontend_IP_rule> nie został znaleziony. Upewnij się, że zasób referencyjny istnieje oraz że oba zasoby znajdują się w tym samym regionie.
Message="ZasóbSzczegóły=[]
Przyczyna 2
Ten problem występuje, jeśli ręcznie zmienisz domyślną regułę ruchu wychodzącego aksOutboundRule w module równoważenia obciążenia. Ta nieoczekiwana modyfikacja zwykle występuje podczas aktualizowania wychodzącego adresu IP w przypadku aktualizacji klastra bez parametru load-balancer-outbound-ips .
Rozwiązanie 2
az aks update Uruchom ponownie polecenie za pomocą parametru load-balancer-outbound-ips , aby zaktualizować klaster. Użyj identyfikatora zasobu publicznego adresu IP jako wartości parametru. Aby uzyskać więcej informacji, zobacz Aktualizowanie klastra przy użyciu własnego publicznego adresu IP ruchu wychodzącego.
Objaw 3
Podczas tworzenia, skalowania, uaktualniania lub aktualizowania puli węzłów operacja kończy się niepowodzeniem z komunikatem InvalidResourceReference o błędzie podobnym do następującego przykładu:
Code="InvalidResourceReference"
Message="Utwórz lub zaktualizuj VMSS
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool-vmss
nie powiodła się. Resource
/subscriptions/<subscription-id-guid>/resourceGroups/<vnet-resource-group>/providers/Microsoft.Network/virtualNetworks/<vnet-name>
przywoływany przez zasób
/subscriptions/<subscription-id-guid>/resourceGroups/MC_MyResourceGroup_MyCluster/providers/Microsoft.Compute/virtualMachineScaleSets/aks-nodepool-vmss
nie został znaleziony."
Przyczyna 3
Ten problem występuje podczas przenoszenia sieci wirtualnej skojarzonej z klastrem usługi AKS podczas tworzenia klastra do innej grupy zasobów lub subskrypcji. Usługa AKS i podstawowy zestaw skalowania maszyn wirtualnych (VMSS) nadal odwołują się do oryginalnego identyfikatora zasobu sieci wirtualnej. W związku z tym operacje puli węzłów wymagające aktualizacji zestawu skalowania maszyn wirtualnych kończą się niepowodzeniem, ponieważ sieć wirtualna nie może być już znaleziona w oryginalnej ścieżce zasobu.
Przenoszenie sieci wirtualnej klastra usługi AKS nie jest obsługiwane. Jak opisano w Obsługa operacji przenoszenia zasobów sieciowych, jeśli przeniesiesz sieć wirtualną klastra AKS, klaster AKS przestanie działać.
Rozwiązanie 3
Nie ma obsługiwanej metody zaktualizowania istniejącego klastra AKS tak, aby odwoływał się do sieci wirtualnej po jej przeniesieniu. Dział pomocy technicznej firmy Microsoft i zespół produktu AKS nie mogą modyfikować bazowych odwołań sieciowych klastra.
Aby rozwiązać ten problem, utwórz nowy klaster usługi AKS, który odwołuje się do sieci wirtualnej w bieżącej lokalizacji, przeprowadź migrację obciążeń do nowego klastra, a następnie zlikwidowanie klastra, którego dotyczy problem.
Objaw 4
Operacja zarządzanej usługi Bastion usługi AKS kończy się niepowodzeniem InvalidResourceReference z powodu błędu identyfikującego publiczny adres IP.
Poniżej przedstawiono przykład komunikatu o błędzie.
Code="InvalidResourceReference"
Message="Określone odwołanie do publicznego adresu IP '<public-ip-resource-id>' jest nieprawidłowe."
Przyczyna 4
Odwołanie do publicznego adresu IP ma nieprawidłowy identyfikator zasobu lub typ zasobu albo publiczny adres IP nie spełnia wymagań dotyczących subskrypcji, regionu, SKU, wersji adresu IP lub stanu aprowizacji.
Rozwiązanie 4
Sprawdź Właściwości wskazanego publicznego adresu IP w witrynie Azure Portal.
Możesz również użyć Azure CLI, aby sprawdzić właściwości publicznego adresu IP.
Uruchom następujące polecenie.
az network public-ip show --ids "<public-ip-resource-id>" --query "{id:id,location:location,sku:sku.name,version:publicIPAddressVersion,allocation:publicIPAllocationMethod,state:provisioningState,ipConfiguration:ipConfiguration.id}" --output json
Użyj prawidłowego identyfikatora zasobu Microsoft.Network/publicIPAddresses w tej samej subskrypcji co zasoby sieciowe klastra i w tym samym regionie co klaster. Publiczny adres IP musi korzystać z warstwy Standard i protokołu IPv4, a publiczny adres IP zarządzany przez klienta musi mieć stan aprowizacji Succeeded.
W przypadku ponownej operacji włączania przekaż skorygowany identyfikator w poleceniu az aks bastion enable. Upewnij się, że zarządzana usługa Bastion jest dostępna dla klastra i że zainstalowane aks-preview rozszerzenie obsługuje polecenie .
W Azure CLI uruchom następujące polecenie.
az aks bastion enable --subscription "<cluster-subscription-id>" --resource-group "<cluster-resource-group>" --name "<cluster-name>" --bastion-public-ip "<public-ip-resource-id>"
Polecenie az aks bastion update nie obsługuje zastępowania istniejącego powiązania publicznego adresu IP. Zmiana adresu IP, gdy Bastion istnieje lub czyszczenie nie zostało ukończone, może spowodować zwrócenie wartości UpdateNotAllowed. Jeśli musisz zastąpić istniejące powiązanie, skontaktuj się z pomoc techniczna firmy Microsoft, aby uzyskać wskazówki.
Aby uzyskać informacje o wymaganiach dotyczących alokacji i użycia, zobacz Azure Bastion wymagania dotyczące publicznego adresu IP.
References
Ogólne rozwiązywanie problemów związanych z tworzeniem klastrów AKS