Udostępnij przez


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.

Dowiedz się więcej na temat poziomu pomocy technicznej dla rozszerzenia Dapr.

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 zawarty w 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 ukierunkowania na określoną wersję zostanie wyświetlony komunikat o błędzie informujący, że wersja 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: OperacjaRozszerzeniaNiepowodzenie

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 <nazwaregionu>

Rozwiązanie 3. Instalowanie w innym regionie

Zainstaluj w regionie, w którym Twoja wersja Dapr jest obsługiwana.

Scenariusz 4: Dapr jest już zainstalowany

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: Zainstalować Dapr w wielu strefach dostępności lub ograniczyć usługę umieszczania do określonej strefy dostępności

Aby rozwiązać ten problem, zastosuj jedną z następujących 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 przechowywania:

    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ą, utwórz wniosek o pomoc techniczną dla firmy Microsoft, aby zbadać i rozwiązać ten problem .

Jeśli występują zagrożenia i regresje dotyczące środowiska uruchomieniowego Dapr podczas korzystania z rozszerzenia, zgłoś problem w open source'owym projekcie Dapr.

Możesz również rozpocząć dyskusję w projekcie Dapr Discord:

Zastrzeżenie dotyczące informacji od stron trzecich

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.