Felsöka installationsfel för Dapr-tillägg

Den här artikeln beskriver några vanliga felmeddelanden som du kan få när du installerar eller uppdaterar Dapr-tillägget (Distributed Application Runtime) för Microsoft Azure Kubernetes Service (AKS) eller Arc for Kubernetes.

Scenario 1: Installationen misslyckas men visar inget felmeddelande

Om tillägget genererar ett felmeddelande när du skapar eller uppdaterar det kan du kontrollera var skapandet misslyckades genom att köra kommandot az k8s-extension list :

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

Om en fel nyckel används i konfigurationsinställningarna, till exempel global.ha=false i stället för global.ha.enabled=false, returneras följande JSON-status. Felmeddelandet samlas in i egenskapen message .

"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
  }
],

Här är ett annat exempel på ett JSON-felmeddelande:

"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
  }
]

Lösning 1: Starta om klustret, registrera tjänstleverantören eller ta bort och installera om Dapr

Prova följande metoder för att åtgärda problemet:

Scenario 2: Riktad Dapr-version finns inte

När du försöker installera Dapr-tillägget för att rikta in dig på en viss version får du ett felmeddelande om att Dapr-versionen inte finns:

(ExtensionOperationFailed) Tilläggsåtgärden misslyckades med följande fel: Det gick inte att matcha tilläggsversionen från de angivna värdena.

Kod: ExtensionOperationFailed

Meddelande: Tilläggsåtgärden misslyckades med följande fel: Det gick inte att matcha tilläggsversionen från de angivna värdena.

Lösning 2: Installera igen för en Dapr-version som stöds

Försök igen för att installera tillägget. Kontrollera att du använder en version av Dapr som stöds.

Scenario 3: Den aktuella Dapr-versionen finns men inte i den angivna regionen

Eftersom vissa versioner av Dapr inte är tillgängliga i alla regioner kan du få följande felmeddelande:

(ExtensionTypeRegistrationGetFailed) Tilläggstypen microsoft.dapr är inte registrerad i regionregionnamn<>.

Kod: ExtensionTypeRegistrationGetFailed

Meddelande: Tilläggstypen microsoft.dapr har inte registrerats i regionregionnamn <>

Lösning 3: Installera i en annan region

Installera i en region där din Dapr-version stöds.

Scenario 4: Dapr är redan installerat

Du försöker installera Dapr-tillägget för AKS eller Arc för Kubernetes, men du får ett felmeddelande som anger att dapr-system namnområdet redan finns. Det här felmeddelandet liknar följande text:

(ExtensionOperationFailed) Tilläggsåtgärden misslyckades med följande fel: Fel: {det gick inte att installera diagrammet från sökvägen [] för versionen [dapr-ext]: fel [renderade manifest innehåller en resurs som redan finns. Det går inte att fortsätta med installationen: ServiceAccount "dapr-operator" i namnområdet "dapr-system" finns och kan inte importeras till den aktuella versionen: ogiltiga ägarskapsmetadata; valideringsfel för anteckningar: nyckeln "meta.helm.sh/release-name" måste vara lika med "dapr-ext": det aktuella värdet är "dapr"]} inträffade när åtgärden : {Installera tillägget} på konfigurationen

Lösning 4: Avinstallera Dapr OSS först

Avinstallera Dapr OSS innan du installerar Dapr-tillägget. Mer information finns i Migrera från Dapr OSS till Dapr-tillägget för AKS.

Scenario 5: Placeringsserverns podd är i ett felaktigt tillstånd

Du får följande fel:

0/4 noder är tillgängliga: 1 noder var oplanerade, 3 noder hade tillhörighetskonflikter mellan volymnoder. preemption: 0/4 noder är tillgängliga: 4 Preemption är inte användbart för schemaläggning.

Det här problemet kan inträffa när placeringsserverns podd försöker använda den beständiga volymen som skapas i en annan zon än själva placeringsserverpodden.

Lösning 5: Installera Dapr i flera tillgänglighetszoner eller begränsa placeringstjänsten till en viss tillgänglighetszon

Använd en av följande metoder för att lösa problemet:

  • Följ den rekommenderade metoden i Installera Dapr i flera tillgänglighetszoner i HA-läge.

  • Begränsa placeringstjänsten till en viss tillgänglighetszon genom att skapa en anpassad lagringsklass och använda den för placeringstjänsten och kör sedan följande kommando:

    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"
    

    Här är ett exempel på hur du skapar en anpassad lagringsklass:

    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
    

Nästa steg

Om du fortfarande har installationsproblem kan du utforska felsökningsguiden för AKS och felsökningsguiden för Dapr OSS.

Ansvarsfriskrivning för information från tredje part

De produkter från andra tillverkare som diskuteras i denna artikel tillverkas oberoende av Microsoft. Produkternas funktion eller tillförlitlighet kan därför inte garanteras.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.