Rozwiązywanie problemów z niepowodzeniem wdrożenia oferty aplikacji Kubernetes

W tym artykule omówiono sposób rozwiązywania problemów z niepowodzeniem wdrożenia oferty aplikacji Kubernetes, która została zaakceptowana w Azure Marketplace firmy Microsoft. Podczas inicjowania zakupu oferty Platformy Kubernetes platforma Azure wdraża szablon usługi Azure Resource Manager (szablon usługi ARM), który próbuje zainstalować wymagane zasoby do realizacji oferty. Jednak wdrożenie szablonu usługi ARM może zakończyć się niepowodzeniem z różnych powodów.

Lista kontrolna rozwiązywania problemów

Sprawdzanie dzienników operacji wdrażania

Aby określić przyczynę niepowodzenia wdrożenia, należy zbadać dzienniki operacji wdrażania. Jeśli nadal wyświetlasz stronę Wdrożenie zakończone niepowodzeniem w Azure Portal, rozpocznij od kroku 5 poniższej procedury. Jeśli zamiast tego zakończono Azure Portal lub nastąpiło przejście do innej strony portalu, wykonaj wszystkie następujące kroki:

  1. W Azure Portal wyszukaj i wybierz pozycję Grupy zasobów.

  2. Na liście grup zasobów wybierz nazwę grupy zasobów, w której próbowano wdrożyć aplikację Kubernetes.

  3. Na stronie Przegląd grupy zasobów znajdź sekcję Essentials, a następnie wybierz tekst hiperłącza wyświetlany obok pola Wdrożenia. Ten tekst przedstawia wskaźnik powodzenia historii wdrażania zasobów grupy zasobów (na przykład 4 zakończone niepowodzeniem, 30 zakończonych powodzeniem).

  4. Na liście prób wdrożeń dla grupy zasobów wybierz wartość Nazwa wdrożenia wdrożenia, które nie powiodło się, w oparciu o następujące odpowiednie pola:

    • Ostatnia modyfikacja (sygnatura czasowa)
    • Długość
    • Stan (pokazuje wartość Niepowodzenie zamiast Powodzenie)
  5. Na liście Szczegóły wdrożenia na stronie wdrożenia znajdź zasób , dla którego pole Stan ma wartość Konflikt. Wybierz link Szczegóły operacji dla tego zasobu.

    Zrzut ekranu przedstawiający stronę

  6. W okienku Szczegóły operacji znajdź właściwość Status (pokazuje wartość Conflict) i sprawdź pole komunikatu Stan poniżej właściwości.

    Zrzut ekranu przedstawiający okienko

    Kod JSON w komunikacie o stanie pokazuje status właściwość Failed. Jest również wyświetlana error właściwość zawierająca właściwości podrzędne code (nazwa kodu błędu, na przykład "ExtensionOperationFailed") i message (opis komunikatu o błędzie, taki jak "Operacja rozszerzenia nie powiodła się z powodu następującego błędu: Nie można rozpoznać wersji rozszerzenia z podanych wartości"). Kod JSON przypomina następujący tekst:

    {
        "status": "Failed",
        "error": {
            "code": "ExtensionOperationFailed",
            "message": "The extension operation failed with the following error: Failed to resolve the extension version from the given values."
        }
    }
    

W poniższych sekcjach omówiono przyczynę i rozwiązanie niektórych typowych scenariuszy awarii.

Przyczyna 1. Aplikacja nie została zainstalowana w wybranym klastrze usługi AKS

Jeśli aplikacja Kubernetes nie została zainstalowana w wybranym klastrze Azure Kubernetes Service (AKS), zostanie wyświetlony komunikat o błędzie podobny do następującego tekstu:

Żądanie nie może https://management.azure.com/subscriptions/<wykonać polecenia subscription-guid>/resourceGroups/resourceGroup/providers/Microsoft.ContainerService/managedclusters/aks-cluster/extensionaddons/default?api-version=2021-03-01. Kod błędu: Zabronione. Przyczyna: Zabronione.

{  
  "error": {  
    "code": "AuthorizationFailed",  
    "message": "The client '<client-guid>' with object id '<client-guid>' does not have authorization to perform action 'Microsoft.ContainerService/managedclusters/extensionaddons/read' over scope '/subscriptions/<subscription-guid>/resourceGroups/resourceGroup/providers/Microsoft.ContainerService/managedclusters/aks-cluster/extensionaddons/default' or the scope is invalid. If access was recently granted, please refresh your credentials."  
  }  
} 

Rozwiązanie 1a: Rejestrowanie dostawcy zasobów Microsoft.KubernetesConfiguration

Zarejestruj dostawcę zasobów Microsoft.KubernetesConfiguration. W takim przypadku instalacja nie powiodła się, ponieważ dostawca zasobów Microsoft.KubernetesConfiguration jest wymagany do wdrożenia aplikacji Kubernetes. Aby uzyskać instrukcje dotyczące rejestracji, zobacz sekcję "Rejestrowanie dostawców zasobów" w artykule Wdrażanie oferty kontenera z Azure Marketplace.

Rozwiązanie 1b: Utrzymywanie kondycji klastra usługi AKS

Ogólnie rzecz biorąc, należy sprawdzić kondycję klastra usługi AKS , aby zapobiec występowaniu innych problemów w okresie instalacji. Aby upewnić się, że klaster jest w dobrej kondycji, rozwiąż problemy zidentyfikowane w klastrze.

Rozwiązanie 1c: Badanie dziennika aktywności usługi Azure Monitor

Co zrobić, jeśli klaster jest w dobrej kondycji, ale instalacja nadal kończy się niepowodzeniem? W takim przypadku sprawdź dziennik aktywności usługi Azure Monitor w klastrze usługi AKS, aby znaleźć przyczynę awarii na tym etapie instalacji.

Przyczyna 2. Subskrypcja ma ograniczenia zasobów

Ponieważ subskrypcja platformy Azure ma ograniczenia zasobów, występuje błąd, który generuje komunikat o błędzie podobny do następującego tekstu:

"Nieznane" instrumenty płatnicze nie są obsługiwane w przypadku oferty o identyfikatorze OfferId: "<offer-name>", PlanId "<subscription-plan-name>".

Rozwiązanie 2. Upewnij się, że subskrypcja spełnia wymagania wymaganej konfiguracji rozliczeń

Sprawdź konfigurację rozliczeń subskrypcji, aby upewnić się, że spełnia ona wymagania dotyczące zasobów aplikacji Kubernetes. Aby uzyskać więcej informacji, zobacz Sprawdzanie poprawności zakupu.

Przyczyna 3. Oferta nie była dostępna w Twoim regionie

Zostanie wyświetlony komunikat o błędzie informujący, że nie można sprzedać oferty w określonym regionie geograficznym. Komunikat o błędzie może przypominać następujący tekst:

Oferta: "<nazwa-oferty>" nie może być zakupiona przez subskrypcję: "<subscription-guid>", ponieważ nie ma być sprzedawana na rynku: "<dwuliterowy kod regionu".

Rozwiązanie 3. Sprawdź ponownie, czy i gdzie oferta jest nadal dostępna

Sprawdź, czy oferta jest nadal dostępna, i sprawdź dokładnie regiony, do których dotyczy oferta.

Przyczyna 4. Wystąpił wewnętrzny błąd serwera

Aplikacja Kubernetes nie została zainstalowana, ponieważ zasób rozszerzenia nie został zainstalowany. Ten błąd generuje następujący komunikat o błędzie:

Wdrożenie rozszerzenia nie powiodło się z powodu błędu serwera wewnętrznego

Rozwiązanie 4: Usuwanie i ponowne instalowanie rozszerzenia

Najpierw usuń zasób rozszerzenia będący częścią zakupu oferty. Następnie zainstaluj ponownie rozszerzenie.

Przyczyna 5. Nie zainstalowano wykresu Helm

Błędy na wykresie helm generują następujący komunikat o błędzie:

Nie można zainstalować wykresu ze ścieżki [] do wydania

Rozwiązanie 5. Ponowne sprawdzanie wpisów wprowadzonych w szablonie usługi ARM

Upewnij się, że wartości i wybory wprowadzone w Azure Portal wdrożenia szablonu usługi ARM są dopuszczalne w aplikacji Kubernetes.

Przed użyciem subskrypcji musisz zaakceptować warunki prawne dotyczące obrazu. W przeciwnym razie zostanie wyświetlony następujący komunikat o błędzie:

Nie zaakceptowano warunków prawnych dla tej subskrypcji: "<subscription-guid>" dla tego planu. Przed użyciem subskrypcji musisz zaakceptować warunki prawne dotyczące obrazu.

Możesz wdrożyć za pośrednictwem Azure Portal. Azure Portal zapewnia środowisko interfejsu użytkownika do czytania i akceptowania warunków prawnych.

Następne kroki

Rozwiązywanie problemów z błędami podczas wdrażania rozszerzeń klastra usługi AKS

Zastrzeżenie dotyczące innych firm

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.