Solución de errores de instalación de la extensión Dapr
En este artículo se describen algunos mensajes de error comunes que puede recibir al instalar o actualizar la extensión Distributed Application Runtime (Dapr) para Microsoft Azure Kubernetes Service (AKS) o Arc para Kubernetes.
Escenario 1: Error en la instalación, pero no se muestra un mensaje de error
Si la extensión genera un mensaje de error al crearlo o actualizarlo, puede inspeccionar dónde se produjo un error al crear mediante la ejecución del comando az k8s-extension list :
az k8s-extension list --resource-group <my-resource-group-name> \
--cluster-name <my-cluster-name> \
--cluster-type managedClusters
Si se usa una clave incorrecta en los valores de configuración, como global.ha=false
en lugar de global.ha.enabled=false
, se devuelve el siguiente estado JSON. El mensaje de error se captura en la message
propiedad .
"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
}
],
Este es otro ejemplo de un mensaje de error 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
}
]
Solución 1: Reinicio del clúster, registro del proveedor de servicios o eliminación y reinstalación de Dapr
Para resolver este problema, pruebe los métodos siguientes:
Registre el proveedor de servicios KubernetesConfiguration.
Forzar la eliminación y volver a instalar la extensión Dapr.
Escenario 2: La versión de Dapr de destino no existe
Al intentar instalar la extensión Dapr para tener como destino una versión específica, recibirá un mensaje de error que indica que la versión de Dapr no existe:
(ExtensionOperationFailed) Error en la operación de extensión con el siguiente error: No se pudo resolver la versión de la extensión de los valores especificados.
Código: ExtensionOperationFailed
Mensaje: Error en la operación de extensión con el siguiente error: No se pudo resolver la versión de la extensión de los valores especificados.
Solución 2: Instalar de nuevo para una versión de Dapr compatible
Pruebe volver a instalar la extensión. Asegúrese de usar una versión compatible de Dapr.
Escenario 3: La versión de Dapr de destino existe, pero no en la región especificada.
Dado que algunas versiones de Dapr no están disponibles en todas las regiones, es posible que reciba el siguiente mensaje de error:
(ExtensionTypeRegistrationGetFailed) El tipo de extensión microsoft.dapr no está registrado en region <regionname>.
Código: ExtensionTypeRegistrationGetFailed
Mensaje: El tipo de extensión microsoft.dapr no está registrado en region <regionname>
Solución 3: Instalar en una región diferente
Instale en una región en la que se admita la versión de Dapr.
Escenario 4: Dapr ya está instalado
Intenta instalar la extensión Dapr para AKS o Arc para Kubernetes, pero recibe un mensaje de error que indica que el dapr-system
espacio de nombres ya existe. Este mensaje de error es similar al texto siguiente:
(ExtensionOperationFailed) Error en la operación de extensión con el siguiente error: Error: {failed to install chart from path [] for release [dapr-ext]: err [rendered manifests contain a resource that already exists. No se puede continuar con la instalación: ServiceAccount "dapr-operator" en el espacio de nombres "dapr-system" existe y no se puede importar en la versión actual: metadatos de propiedad no válidos; error de validación de anotación: la clave "meta.helm.sh/release-name" debe ser igual a "dapr-ext": el valor actual es "dapr"]} al realizar la operación : {Instalación de la extensión} en la configuración
Solución 4: Desinstalar dapr OSS primero
Desinstale el sistema operativo Dapr antes de instalar la extensión Dapr. Para obtener más información, consulte Migración de Dapr OSS a la extensión Dapr para AKS.
Escenario 5: el pod del servidor de selección de ubicación está en un estado incorrecto
Se produce el siguiente error:
Hay disponibles 0/4 nodos: 1 nodo no se pueden programar, 3 nodos tenían conflicto de afinidad de nodo de volumen. adelantamiento: 0/4 nodos están disponibles: 4 El adelantamiento no resulta útil para la programación.
Este problema puede producirse cuando el pod de servidor de selección de ubicación intenta usar el volumen persistente que se crea en una zona diferente del propio pod del servidor de selección de ubicación.
Solución 5: Instalar Dapr en varias zonas de disponibilidad o limitar el servicio de selección de ubicación a una zona de disponibilidad determinada
Para solucionar este problema, use uno de los métodos siguientes:
Siga el enfoque recomendado en Instalación de Dapr en varias zonas de disponibilidad mientras está en modo de alta disponibilidad.
Limite el servicio de selección de ubicación a una zona de disponibilidad determinada mediante la creación de una clase de almacenamiento personalizada y su uso para el servicio de selección de ubicación y, a continuación, ejecute el siguiente comando:
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"
Este es un ejemplo de creación de una clase de almacenamiento personalizada:
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
Pasos siguientes
Si sigue experimentando problemas de instalación, explore la guía de solución de problemas de AKS y la guía de solución de problemas de Dapr OSS.
Aviso de declinación de responsabilidades sobre la información de terceros
Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.