Résoudre les erreurs d’installation de l’extension Dapr
Cet article décrit certains messages d’erreur courants que vous pouvez recevoir lorsque vous installez ou mettez à jour l’extension Distributed Application Runtime (Dapr) pour Microsoft Azure Kubernetes Service (AKS) ou Arc pour Kubernetes.
Scénario 1 : l’installation échoue, mais n’affiche pas de message d’erreur
Si l’extension génère un message d’erreur lorsque vous créez ou mettez-la à jour, vous pouvez inspecter l’emplacement où la création a échoué en exécutant la commande az k8s-extension list :
az k8s-extension list --resource-group <my-resource-group-name> \
--cluster-name <my-cluster-name> \
--cluster-type managedClusters
Si une clé incorrecte est utilisée dans les paramètres de configuration, comme global.ha=false
au lieu de global.ha.enabled=false
, l’état JSON suivant est retourné. Le message d’erreur est capturé dans la message
propriété.
"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
}
],
Voici un autre exemple de message d’erreur 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
}
]
Solution 1 : Redémarrer le cluster, inscrire le fournisseur de services ou supprimer et réinstaller Dapr
Pour corriger ce problème, essayez les méthodes suivantes :
Inscrivez le fournisseur de services KubernetesConfiguration.
Forcez la suppression et réinstallez l’extension Dapr.
Scénario 2 : La version de Dapr ciblée n’existe pas
Lorsque vous essayez d’installer l’extension Dapr pour cibler une version spécifique, vous recevez un message d’erreur indiquant que la version dapr n’existe pas :
(ExtensionOperationFailed) L’opération d’extension a échoué avec l’erreur suivante : échec de la résolution de la version de l’extension à partir des valeurs données.
Code : ExtensionOperationFailed
Message : Échec de l’opération d’extension avec l’erreur suivante : échec de la résolution de la version de l’extension à partir des valeurs données.
Solution 2 : Réinstaller pour une version dapr prise en charge
Réinstallez d’installer l’extension. Veillez à utiliser une version prise en charge de Dapr.
Scénario 3 : La version de Dapr ciblée existe, mais pas dans la région spécifiée
Étant donné que certaines versions de Dapr ne sont pas disponibles dans toutes les régions, vous pouvez recevoir le message d’erreur suivant :
(ExtensionTypeRegistrationGetFailed) Le type d’extension microsoft.dapr n’est pas inscrit dans le nom> de région<.
Code : ExtensionTypeRegistrationGetFailed
Message : Le type d’extension microsoft.dapr n’est pas inscrit dans regionname <>
Solution 3 : Installer dans une autre région
Installez dans une région dans laquelle votre version de Dapr est prise en charge.
Scénario 4 : Dapr est déjà installé
Vous essayez d’installer l’extension Dapr pour AKS ou Arc pour Kubernetes, mais vous recevez un message d’erreur indiquant que l’espace dapr-system
de noms existe déjà. Ce message d’erreur ressemble au texte suivant :
(ExtensionOperationFailed) L’opération d’extension a échoué avec l’erreur suivante : {échec de l’installation du graphique à partir du chemin d’accès [] pour la publication [dapr-ext] : err [manifestes rendus contiennent une ressource qui existe déjà. Impossible de poursuivre l’installation : ServiceAccount « dapr-operator » dans l’espace de noms « dapr-system » existe et ne peut pas être importé dans la version actuelle : métadonnées de propriété non valides ; Erreur de validation d’annotation : la clé « meta.helm.sh/release-name » doit être égale à « dapr-ext » : la valeur actuelle est « dapr »]} s’est produite lors de l’opération : {Installation de l’extension} sur la configuration
Solution 4 : Désinstaller Dapr OSS en premier
Désinstallez dapr OSS avant d’installer l’extension Dapr. Pour plus d’informations, consultez Migrer de Dapr OSS vers l’extension Dapr pour AKS.
Scénario 5 : Le pod de serveur de placement est dans un état incorrect
Vous rencontrez l’erreur suivante :
0/4 nœuds sont disponibles : 1 nœud(s) n’étaient pas planifiés, 3 nœuds avaient un conflit d’affinité de nœud de volume. préemption : 0/4 nœuds sont disponibles : 4 Préemption n’est pas utile pour la planification.
Ce problème peut se produire lorsque le pod de serveur de placement tente d’utiliser le volume persistant créé dans une zone différente du pod de serveur de placement lui-même.
Solution 5 : Installer Dapr dans plusieurs zones de disponibilité ou limiter le service de placement à une zone de disponibilité particulière
Pour résoudre ce problème, utilisez l’une des méthodes suivantes :
Suivez l’approche recommandée dans Installer Dapr dans plusieurs zones de disponibilité en mode haute disponibilité.
Limitez le service de placement à une zone de disponibilité particulière en créant une classe de stockage personnalisée et en l’utilisant pour le service de placement, puis exécutez la commande suivante :
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"
Voici un exemple de création d’une classe de stockage personnalisée :
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
Prochaines étapes
Si vous rencontrez toujours des problèmes d’installation, explorez le guide de résolution des problèmes AKS et le guide de résolution des problèmes dapr OSS.
Exclusion de responsabilité de tiers
Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.