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:
Uruchom ponownie klaster usługi AKS lub Arc dla platformy Kubernetes.
Zarejestruj dostawcę usługi KubernetesConfiguration.
Wymuś usunięcie i ponowne zainstalowanie rozszerzenia Dapr.
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.