Rozwiązywanie problemów z błędami instalacji rozszerzenia języka Dapr

W tym artykule omówiono niektóre typowe komunikaty o błędach, które mogą wystąpić podczas instalowania lub aktualizowania rozszerzenia Środowiska uruchomieniowego aplikacji rozproszonej (Dapr) dla usługi Microsoft Azure Kubernetes Service (AKS) lub usługi Arc dla platformy Kubernetes.

Scenariusz 1. Instalacja kończy się niepowodzeniem, ale nie wyświetla komunikatu o błędzie

Jeśli rozszerzenie generuje komunikat o błędzie podczas jego tworzenia lub aktualizowania, możesz sprawdzić, gdzie tworzenie nie powiodło się, uruchamiając polecenie az k8s-extension list :

az k8s-extension list --resource-group <my-resource-group-name> \
    --cluster-name <my-cluster-name> \
    --cluster-type managedClusters

Jeśli w ustawieniach konfiguracji jest używany nieprawidłowy global.ha.enabled=falseklucz, taki jak global.ha=false zamiast , zwracany jest następujący stan JSON. Komunikat o błędzie jest przechwytywany we message właściwości .

"statuses": [
  {
    "code": "InstallationFailed",
    "displayStatus": null,
    "level": null,
    "message": "Error: {failed to install chart from path [] for release [dapr-1]: err [template: dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_poddisruptionbudget.yaml:1:17: executing \"dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_poddisruptionbudget.yaml\" at <.Values.global.ha.enabled>: can't evaluate field enabled in type interface {}]} occurred while doing the operation : {Installing the extension} on the config",
    "time": null
  }
],

Oto kolejny przykład komunikatu o błędzie JSON:

"statuses": [
  {
    "code": "InstallationFailed",
    "displayStatus": null,
    "level": null,
    "message": "The extension operation failed with the following error: unable to add the configuration with configId {extension:microsoft-dapr} due to error: {error while adding the CRD configuration: error {failed to get the immutable configMap from the elevated namespace with err: configmaps 'extension-immutable-values' not found }}. (Code: ExtensionOperationFailed)",
    "time": null
  }
]

Rozwiązanie 1. Ponowne uruchomienie klastra, zarejestrowanie dostawcy usług lub usunięcie i ponowne zainstalowanie narzędzia Dapr

Aby rozwiązać ten problem, wypróbuj następujące metody:

Scenariusz 2. Docelowa wersja języka Dapr nie istnieje

Podczas próby zainstalowania rozszerzenia języka Dapr w celu lokalizacji docelowej określonej wersji zostanie wyświetlony komunikat o błędzie informujący, że wersja języka Dapr nie istnieje:

(ExtensionOperationFailed) Operacja rozszerzenia nie powiodła się z powodu następującego błędu: Nie można rozpoznać wersji rozszerzenia z podanych wartości.

Kod: ExtensionOperationFailed

Komunikat: Operacja rozszerzenia nie powiodła się z powodu następującego błędu: Nie można rozpoznać wersji rozszerzenia z podanych wartości.

Rozwiązanie 2. Zainstaluj ponownie dla obsługiwanej wersji języka Dapr

Spróbuj ponownie, aby zainstalować rozszerzenie. Upewnij się, że używasz obsługiwanej wersji języka Dapr.

Scenariusz 3. Docelowa wersja języka Dapr istnieje, ale nie w określonym regionie

Ponieważ niektóre wersje języka Dapr nie są dostępne we wszystkich regionach, może zostać wyświetlony następujący komunikat o błędzie:

(ExtensionTypeRegistrationGetFailed) Typ rozszerzenia microsoft.dapr nie jest zarejestrowany w regionname regionu<>.

Kod: ExtensionTypeRegistrationGetFailed

Komunikat: Typ rozszerzenia microsoft.dapr nie jest zarejestrowany w nazwie regionu <>

Rozwiązanie 3. Instalowanie w innym regionie

Zainstaluj w regionie, w którym jest obsługiwana wersja języka Dapr.

Scenariusz 4. Dapr jest już zainstalowany

Próbujesz zainstalować rozszerzenie dapr dla usługi AKS lub Arc dla platformy Kubernetes, ale zostanie wyświetlony komunikat o błędzie wskazujący, że dapr-system przestrzeń nazw już istnieje. Ten komunikat o błędzie przypomina następujący tekst:

(ExtensionOperationFailed) Operacja rozszerzenia nie powiodła się z powodu następującego błędu: Błąd: {nie można zainstalować wykresu ze ścieżki [] do wydania [dapr-ext]: błąd [renderowane manifesty zawierają zasób, który już istnieje. Nie można kontynuować instalacji: parametr ServiceAccount "dapr-operator" w przestrzeni nazw "dapr-system" istnieje i nie można go zaimportować do bieżącej wersji: nieprawidłowe metadane własności; błąd sprawdzania poprawności adnotacji: klucz "meta.helm.sh/release-name" musi być równy "dapr-ext": bieżąca wartość to "dapr"]} wystąpiła podczas wykonywania operacji: {Instalowanie rozszerzenia} w konfiguracji

Rozwiązanie 4. Najpierw odinstaluj system operacyjny Dapr

Przed zainstalowaniem rozszerzenia dapr odinstaluj system operacyjny Dapr. Aby uzyskać więcej informacji, zobacz Migrate from Dapr OSS to the Dapr extension for AKS (Migrowanie z systemu operacyjnego dapr do rozszerzenia Dapr dla usługi AKS).

Scenariusz 5. Zasobnik serwera umieszczania jest w złym stanie

Wystąpił następujący błąd:

Dostępnych jest 0/4 węzłów: 1 węzły były nieplanowane, 3 węzły miały konflikt koligacji węzła woluminu. wywłaszczanie: 0/4 węzły są dostępne: 4 Wywłaszczanie nie jest przydatne do planowania.

Ten problem może wystąpić, gdy zasobnik serwera umieszczania próbuje użyć woluminu trwałego utworzonego w innej strefie niż sam zasobnik serwera umieszczania.

Rozwiązanie 5. Instalowanie narzędzia Dapr w wielu strefach dostępności lub ograniczanie usługi umieszczania do określonej strefy dostępności

Aby rozwiązać ten problem, zastosuj jedną z następujących metod:

  • Postępuj zgodnie z zalecaną metodą w temacie Instalowanie narzędzia Dapr w wielu strefach dostępności w trybie wysokiej dostępności.

  • Ogranicz usługę umieszczania do określonej strefy dostępności, tworząc niestandardową klasę magazynu i używając jej dla usługi umieszczania, a następnie uruchom następujące polecenie:

    az k8s-extension create --cluster-type managedClusters
    --cluster-name <clustername>
    --resource-group <resourcegroup>
    --name <name>
    --extension-type Microsoft.Dapr
    --auto-upgrade-minor-version <minorversion>
    --version <version>
    --configuration-settings "dapr_placement.volumeclaims.storageClassName=zone-restricted"
    

    Oto przykład tworzenia niestandardowej klasy magazynu:

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
     name: zone-restricted
    provisioner: disk.csi.azure.com
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    volumeBindingMode: WaitForFirstConsumer
    allowedTopologies:
    - matchLabelExpressions:
     - key: topology.kubernetes.io/zone
       values:
       - centralus-1
    parameters:
     storageaccounttype: StandardSSD_LRS
    

Następne kroki

Jeśli nadal występują problemy z instalacją, zapoznaj się z przewodnikiem rozwiązywania problemów z usługą AKS i przewodnikiem rozwiązywania problemów z systemem operacyjnym Dapr.

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.