Compartir a través de


Problemas conocidos: Operaciones de IoT de Azure

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
int int int
int int struct A
int enum A struct A
enum A enum B enum C
struct A struct B struct C
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:

  1. Elimine el CRD AssetType manualmente: kubectl delete crd assettypes.opcuabroker.iotoperations.azure.com --ignore-not-found=true

  2. Elimine la definición del trabajo: kubectl delete job aio-opc-delete-crds-job-<version> -n azure-iot-operations

  3. Busque la versión de Helm para los conectores; es la que tiene el sufijo -connectors: helm ls -a -n azure-iot-operations

  4. 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:

  1. 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.

  2. 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'

  3. 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.

  4. 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.

  5. 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.