Udostępnij za pośrednictwem


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

W tym artykule omówiono niektóre typowe komunikaty o błędach, które mogą być wyświetlane podczas instalowania lub aktualizowania rozszerzenia Środowiska uruchomieniowego aplikacji rozproszonej (Dapr) dla usługi Microsoft Azure Kubernetes Service (AKS) lub 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 zostanie użyty niewłaściwy klucz, na przykład global.ha=false zamiast global.ha.enabled=false, zostanie zwrócony 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 środowiska 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 Dapr w celu kierowania 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. Ponowne instalowanie obsługiwanej wersji języka Dapr

Spróbuj ponownie 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 regionie nazwa regionu<>.

Kod: ExtensionTypeRegistrationGetFailed

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

Rozwiązanie 3. Instalowanie w innym regionie

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

Scenariusz 4. Środowisko Dapr jest już zainstalowane

Spró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 [] dla wydania [dapr-ext]: err [renderowane manifesty zawierają zasób, który już istnieje. Nie można kontynuować instalacji: element 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 weryfikacji adnotacji: podczas wykonywania operacji wystąpił klucz "meta.helm.sh/release-name" musi być równy "dapr-ext": bieżąca wartość to "dapr"]}} podczas wykonywania operacji : {Instalowanie rozszerzenia} w konfiguracji

Rozwiązanie 4. Najpierw odinstaluj system operacyjny Dapr

Odinstaluj system operacyjny Dapr przed zainstalowaniem rozszerzenia Dapr. Aby uzyskać więcej informacji, zobacz 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ępne są 0/4 węzły: 1 węzły były nieplanowalne, 3 węzły miały konflikt koligacji węzłów woluminu. Wywłaszczanie: dostępne są węzły 0/4: 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 języka Dapr w wielu strefach dostępności lub ograniczanie usługi umieszczania do określonej strefy dostępności

Aby rozwiązać ten problem, skorzystaj z jednej z poniższych metod:

  • Postępuj zgodnie z zalecanym podejściem w temacie Instalowanie języka 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 na temat platformy Azure.