Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se enumeran los problemas conocidos actuales que puede encontrar al usar operaciones de Azure IoT. La guía le ayuda a identificar estos problemas y proporciona soluciones alternativas cuando están disponibles.
Para obtener instrucciones generales de solución de problemas, consulte Solución de problemas de operaciones de Azure IoT.
Problemas de implementación, actualización y desinstalación
En esta sección se enumeran los problemas conocidos actuales que pueden producirse al implementar, actualizar o desinstalar operaciones de Azure IoT.
Error al crear recursos personalizados
Identificador de problema: 9091
Firma de registro: "code": "ExtensionOperationFailed", "message": "The extension operation failed with the following error: Error occurred while creating custom resources needed by system extensions"
El mensaje indica que se produjo un error Error occurred while creating custom resources needed by system extensions
en la implementación debido a un problema esporádico conocido.
Para solucionar este problema, use el comando az iot ops delete
con la bandera --include-deps
para eliminar las operaciones de Azure IoT de su clúster. Cuando las Operaciones de Azure IoT y sus dependencias se eliminan del clúster, vuelva a intentar la implementación.
Error de reinicio de Codespaces
Identificador de problema: 9941
Firma de registro: "This codespace is currently running in recovery mode due to a configuration error."
Si implementa Azure IoT Operations en GitHub Codespaces, apagar y reiniciar el Codespace causa un problema This codespace is currently running in recovery mode due to a configuration error
.
No hay ninguna solución alternativa para este problema. Si necesita un clúster que admita el apagado y el reinicio, seleccione una de las opciones de Preparación del clúster de Kubernetes habilitado para Azure Arc.
Problemas del agente MQTT
En esta sección se enumeran los problemas conocidos actuales del agente MQTT.
Los recursos del agente MQTT no están visibles en Azure Portal
Identificador de problema: 4257
Firma de registro: N/D
Los recursos del agente MQTT creados en el clúster mediante Kubernetes no están visibles en Azure Portal. Este resultado se espera porque la administración de componentes de Azure IoT Operations mediante Kubernetes está en versión preliminar y actualmente no se admite la sincronización de recursos desde el perímetro a la nube.
Actualmente, no hay ninguna solución alternativa para este problema.
Problemas de Gestión de Redes en Capas de Azure IoT (vista previa)
En esta sección se enumeran los problemas conocidos actuales para la administración de redes en capas de Azure IoT.
El servicio de administración de redes en capas no obtiene una dirección IP
Identificador de problema: 7864
Firma de registro: N/D
El servicio Administración de redes superpuestas no obtiene una dirección IP cuando se ejecuta en K3S en un host de Ubuntu.
Para solucionar este problema, vuelva a instalar K3S sin el controlador de entrada traefik:
curl -sfL https://get.k3s.io | sh -s - --disable=traefik --write-kubeconfig-mode 644
Para más información, consulte Redes | K3s.
El servicio CoreDNS no resuelve correctamente las consultas DNS.
Identificador de problema: 7955
Firma de registro: N/D
Las consultas DNS no se resuelven en la dirección IP esperada mientras se usa el servicio CoreDNS que se ejecuta en el nivel de red secundario.
Para solucionar este problema, actualice a Ubuntu 22.04 y vuelva a instalar K3S.
Problemas de conector para OPC UA
En esta sección se enumeran los problemas conocidos actuales del conector para OPC UA.
El pod del conector no se reinicia después del cambio de configuración
Identificador de problema: 7518
Firma de registro: N/D
Al agregar un nuevo recurso con un nuevo perfil de punto de conexión de recurso al agente de OPC UA y desencadenar una reconfiguración, la implementación de los pods opc.tcp
cambia para dar cabida a los nuevos montajes de secretos para el nombre de usuario y la contraseña. Si se produce un error en el nuevo montaje por algún motivo, el pod no se reinicia y, por tanto, el flujo anterior para los recursos configurados correctamente también se detiene.
Pico de datos cada 2,5 horas con algunos simuladores de OPC UA
Identificador de problema: 6513
Firma de registro: aumento del volumen de mensajes cada 2,5 horas
Los valores de datos se disparan cada 2,5 horas cuando se usan simuladores de OPC UA concretos que provocan picos de CPU y memoria. Este problema no se ve con el simulador de OPC PLC usado en los inicios rápidos. No se pierden datos, pero puede ver un aumento en el volumen de datos publicados desde el servidor al agente MQTT.
No se genera ningún esquema de mensaje si los nodos seleccionados de un conjunto de datos hacen referencia a la misma definición de tipo de datos complejo.
Identificador de problema: 7369
Firma de registro: An item with the same key has already been added. Key: <element name of the data type>
No se genera ningún esquema de mensaje si los nodos seleccionados de un conjunto de datos hacen referencia a la misma definición de tipo de datos complejo (un UDT de tipo struct o enumeración).
Si selecciona puntos de datos (identificadores de nodo) para un conjunto de datos que comparte definiciones de tipo complejo en un espacio de nombres que no es de OPC UA (estructura o enumeración), no se genera el esquema JSON. El esquema abierto predeterminado se muestra al crear un flujo de datos en su lugar. Por ejemplo, si el conjunto de datos contiene tres valores de un tipo de datos, si funciona o no se muestra en la tabla siguiente. Puede sustituir int
cualquier tipo o tipo primitivo integrado de OPC UA, como string
, double
, float
o long
:
Tipo de valor 1 | Tipo de valor 2 | Tipo de valor 3 | Genera correctamente el esquema |
---|---|---|---|
int |
int |
int |
Sí |
int |
int |
int |
Sí |
int |
int |
struct A |
Sí |
int |
enum A |
struct A |
Sí |
enum A |
enum B |
enum C |
Sí |
struct A |
struct B |
struct C |
Sí |
int |
struct A |
struct A |
No |
int |
enum A |
enum A |
No |
Para solucionar este problema, puede:
- Divida el conjunto de datos entre dos o más recursos.
- Cargue manualmente un esquema.
- Utiliza la experiencia predeterminada sin esquema en el diseñador de flujo de datos.
Problemas de conector para medios y conectores para ONVIF
En esta sección se enumeran los problemas conocidos actuales del conector para medios y el conector para ONVIF.
El proceso de eliminación de ASSETType CRD no se completa
Identificador de problema: 6065
Firma de registro: "Error HelmUninstallUnknown: Helm encountered an error while attempting to uninstall the release aio-118117837-connectors in the namespace azure-iot-operations. (caused by: Unknown: 1 error occurred: * timed out waiting for the condition"
A veces, al intentar desinstalar Operaciones de IoT de Azure del clúster, el sistema puede llegar a un estado en el que el trabajo de eliminación de CRD está bloqueado en estado pendiente y que bloquea la limpieza de Operaciones de IoT de Azure.
Para solucionar este problema, complete los pasos siguientes para eliminar manualmente el CRD y finalizar la desinstalación:
Elimine el CRD AssetType manualmente:
kubectl delete crd assettypes.opcuabroker.iotoperations.azure.com --ignore-not-found=true
Elimine la definición del trabajo:
kubectl delete job aio-opc-delete-crds-job-<version> -n azure-iot-operations
Busque la versión de Helm para los conectores; es la que tiene el sufijo
-connectors
:helm ls -a -n azure-iot-operations
Desinstale la versión de Helm sin ejecutar el enlace:
helm uninstall aio-<id>-connectors -n azure-iot-operations --no-hooks
Detección de recursos con problemas de servicios de Akri
En esta sección se enumeran los problemas conocidos actuales para la detección de recursos con los servicios de Akri.
La detección de recursos no funciona durante una hora después de la actualización
Identificador de problema: 0407
Firma de registro: N/D
Al actualizar los servicios de Akri, es posible que experimente una pérdida de mensajes y recursos durante una hora después de la actualización.
Para solucionar este problema, espere una hora después de la actualización y vuelva a ejecutar el escenario de detección de recursos.
Problemas de flujos de datos
En esta sección se enumeran los problemas conocidos actuales de los flujos de datos.
Los recursos de flujo de datos no son visibles en la interfaz de usuario web de la experiencia de operaciones
Identificador de problema: 8724
Firma de registro: N/D
Los recursos personalizados de flujo de datos creados en el clúster mediante Kubernetes no son visibles en la interfaz de usuario web de la experiencia de operaciones. Este resultado se espera porque la administración de componentes de Azure IoT Operations mediante Kubernetes está en versión preliminar y actualmente no se admite la sincronización de recursos desde el perímetro a la nube.
Actualmente, no hay ninguna solución alternativa para este problema.
No se puede configurar la autenticación X.509 para puntos de conexión personalizados de Kafka
Identificador de problema: 8750
Firma de registro: N/D
Actualmente no se admite la autenticación X.509 para puntos de conexión de Kafka personalizados.
Errores de conexión con Azure Event Grid
Identificador de problema: 8891
Firma de registro: N/D
Al conectar varias instancias de IoT Operations al mismo espacio de nombres MQTT de Event Grid, pueden producirse errores de conexión debido a conflictos de identificador de cliente. Los identificadores de cliente se derivan actualmente de los nombres de recursos de flujo de datos y, al usar la infraestructura como patrones de código para la implementación, los identificadores de cliente generados podrían ser idénticos.
Para solucionar este problema, agregue aleatoriedad a los nombres de flujo de datos en las plantillas de implementación.
La implementación del flujo de datos no se completa
Identificador de problema: 9411
Firma de registro:
"Dataflow pod had error: Bad pod condition: Pod 'aio-dataflow-operator-0' container 'aio-dataflow-operator' stuck in a bad state due to 'CrashLoopBackOff'"
"Failed to create webhook cert resources: Failed to update ApiError: Internal error occurred: failed calling webhook "webhook.cert-manager.io" [...]"
Al crear un nuevo flujo de datos, es posible que no finalice la implementación. La causa es que cert-manager
no estaba listo ni en ejecución.
Para solucionar este problema, siga estos pasos para eliminar manualmente el pod del operador de flujo de datos para borrar el estado del bloqueo:
Ejecute
kubectl get pods -n azure-iot-operations
. En la salida, verifique que aio-dataflow-operator-0 sea el único pod de operador de flujo de datos en ejecución.Ejecute
kubectl logs --namespace azure-iot-operations aio-dataflow-operator-0
para comprobar los registros del pod del operador de flujo de datos.En la salida, compruebe la entrada final del registro:
Dataflow pod had error: Bad pod condition: Pod 'aio-dataflow-operator-0' container 'aio-dataflow-operator' stuck in a bad state due to 'CrashLoopBackOff'
Vuelva a ejecutar el comando kubectl logs con la
--previous
opción .kubectl logs --namespace azure-iot-operations --previous aio-dataflow-operator-0
En la salida, compruebe la entrada final del registro:
Failed to create webhook cert resources: Failed to update ApiError: Internal error occurred: failed calling webhook "webhook.cert-manager.io" [...]
. Problema ID:2382 Si ve ambas entradas de registro de los dos comandos kubectl log, el administrador de certificados no estaba listo ni en ejecución.Ejecute
kubectl delete pod aio-dataflow-operator-0 -n azure-iot-operations
para eliminar el pod del operador de flujo de datos. Al eliminar el pod se borra el estado del bloqueo y se reinicia el pod.Espere a que el pod del operador se reinicie e implemente el flujo de datos.
Métricas de error de flujos de datos
Identificador de problema: 2382
Firma de registro: N/D
Los flujos de datos marcan los reintentos de mensajes y se vuelven a conectar como errores y, como resultado, los flujos de datos podrían tener un estado incorrecto. Este comportamiento solo se ve en versiones anteriores de flujos de datos. Revise los registros para determinar si el flujo de datos es correcto.