Risolvere gli errori di installazione dell'estensione Dapr
Questo articolo illustra alcuni messaggi di errore comuni che è possibile ricevere quando si installa o si aggiorna l'estensione Runtime applicazione distribuita (Dapr) per Microsoft servizio Azure Kubernetes (AKS) o Arc per Kubernetes.
Scenario 1: L'installazione non riesce ma non visualizza un messaggio di errore
Se l'estensione genera un messaggio di errore durante la creazione o l'aggiornamento, è possibile controllare dove la creazione non è riuscita eseguendo il comando az k8s-extension list :
az k8s-extension list --resource-group <my-resource-group-name> \
--cluster-name <my-cluster-name> \
--cluster-type managedClusters
Se nelle impostazioni di global.ha.enabled=false
configurazione viene usata una chiave errata, ad global.ha=false
esempio anziché , viene restituito lo stato JSON seguente. Il messaggio di errore viene acquisito nella message
proprietà .
"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
}
],
Ecco un altro esempio di messaggio di errore 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
}
]
Soluzione 1: riavviare il cluster, registrare il provider di servizi o eliminare e reinstallare Dapr
Per risolvere questo problema, provare i metodi seguenti:
Scenario 2: la versione dapr di destinazione non esiste
Quando si tenta di installare l'estensione Dapr per una versione specifica, viene visualizzato un messaggio di errore che indica che la versione dapr non esiste:
(ExtensionOperationFailed) L'operazione di estensione non è riuscita con l'errore seguente: Impossibile risolvere la versione dell'estensione dai valori specificati.
Codice: ExtensionOperationFailed
Messaggio: l'operazione di estensione non è riuscita con l'errore seguente: Impossibile risolvere la versione dell'estensione dai valori specificati.
Soluzione 2: eseguire di nuovo l'installazione per una versione dapr supportata
Riprovare a installare l'estensione. Assicurarsi di usare una versione supportata di Dapr.
Scenario 3: la versione dapr di destinazione esiste ma non nell'area specificata
Poiché alcune versioni di Dapr non sono disponibili in tutte le aree, è possibile che venga visualizzato il messaggio di errore seguente:
(ExtensionTypeRegistrationGetFailed) Il tipo di estensione microsoft.dapr non è registrato in regionname<>.
Codice: ExtensionTypeRegistrationGetFailed
Messaggio: Il tipo di estensione microsoft.dapr non è registrato in region <regionname>
Soluzione 3: Installare in un'area diversa
Installare in un'area in cui è supportata la versione dapr.
Scenario 4: Dapr è già installato
Si tenta di installare l'estensione Dapr per il servizio Azure Kubernetes o Arc per Kubernetes, ma viene visualizzato un messaggio di errore che indica che lo spazio dei dapr-system
nomi esiste già. Questo messaggio di errore è simile al testo seguente:
(ExtensionOperationFailed) L'operazione di estensione non è riuscita con l'errore seguente: Errore: {failed to install chart from path [] for release [dapr-ext]: err [rendered manifests contain a resource that already exists. Impossibile continuare con l'installazione: ServiceAccount "dapr-operator" nello spazio dei nomi "dapr-system" esiste e non può essere importato nella versione corrente: metadati di proprietà non validi; Errore di convalida dell'annotazione: la chiave "meta.helm.sh/release-name" deve essere uguale a "dapr-ext": il valore corrente è "dapr"]} durante l'operazione : {Installazione dell'estensione} nella configurazione
Soluzione 4: Disinstallare prima il sistema operativo Dapr
Disinstallare il sistema operativo Dapr prima di installare l'estensione Dapr. Per altre informazioni, vedere Eseguire la migrazione da Dapr OSS all'estensione dapr per il servizio Azure Kubernetes.
Scenario 5: il pod del server di posizionamento non è valido
Si verifica l'errore seguente:
Sono disponibili 0/4 nodi: 1 nodo non è pianificabile, 3 nodi presentano un conflitto di affinità del nodo del volume. preemption: sono disponibili 0/4 nodi: 4 Preemption non è utile per la pianificazione.
Questo problema può verificarsi quando il pod del server di posizionamento tenta di usare il volume permanente creato in una zona diversa dal pod del server di posizionamento stesso.
Soluzione 5: installare Dapr in più zone di disponibilità o limitare il servizio di posizionamento a una determinata zona di disponibilità
Per risolvere il problema, utilizzare uno dei seguenti metodi:
Seguire l'approccio consigliato in Installare Dapr in più zone di disponibilità in modalità disponibilità elevata.
Limitare il servizio di posizionamento a una determinata zona di disponibilità creando una classe di archiviazione personalizzata e usandola per il servizio di posizionamento e quindi eseguendo il comando seguente:
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"
Ecco un esempio di creazione di una classe di archiviazione personalizzata:
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
Passaggi successivi
Se si verificano ancora problemi di installazione, esplorare la guida alla risoluzione dei problemi del servizio Azure Kubernetes e la guida alla risoluzione dei problemi del sistema operativo dapr.
Dichiarazione di non responsabilità sulle informazioni di terze parti
I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.