Поделиться через


Известные проблемы: Операции Интернета вещей Azure

В этой статье перечислены текущие известные проблемы для операций Интернета вещей Azure.

Проблемы с развертыванием, обновлением и удалением

В этом разделе перечислены известные проблемы, которые могут возникнуть при развертывании, обновлении или удалении операций Интернета вещей Azure.

Ошибка при создании пользовательских ресурсов


Идентификатор проблемы: 9091


Log signature: "code": "ExtensionOperationFailed", "message": "The extension operation failed with the following error: Error occurred while creating custom resources needed by system extensions"


Сообщение Error occurred while creating custom resources needed by system extensions указывает, что развертывание завершилось сбоем из-за известной спорадической проблемы.

Чтобы обойти эту проблему, используйте az iot ops delete команду с флагом --include-deps для удаления операций Интернета вещей Azure из кластера. Когда операции Интернета вещей Azure и его зависимости удаляются из кластера, повторите развертывание.

Ошибка перезагрузки Codespaces


Идентификатор проблемы: 9941


Подпись журнала: "This codespace is currently running in recovery mode due to a configuration error."


If you deploy Azure IoT Operations in GitHub Codespaces, shutting down and restarting the Codespace causes a This codespace is currently running in recovery mode due to a configuration error issue.

В настоящее время для проблемы нет обходного решения. Если вам нужен кластер, поддерживающий завершение работы и перезапуск, выберите один из вариантов в разделе "Подготовка кластера Kubernetes с поддержкой Azure Arc".

Пакет Helm входит в состояние зависание во время обновления


Идентификатор проблемы: 9928


Log signature: "Message: Update failed for this resource, as there is a conflicting operation in progress. Please try after sometime."


При обновлении операций Интернета вещей Azure пакет Helm может войти в состояние зависания, предотвращая выполнение операций установки или обновления Helm. Этот сценарий приводит к возникновению сообщения Update failed for this resource, as there is a conflicting operation in progress. Please try after sometime.об ошибке, которое блокирует дальнейшие обновления.

Чтобы обойти эту проблему, выполните указанные ниже действия.

  1. Определите застрявшие компоненты, выполнив следующую команду:

    helm list -n azure-iot-operations --pending
    

    В выходных данных найдите имя выпуска компонентов, <component-release-name>которые имеют состояние pending-upgrade или pending-install. Эта проблема может повлиять на следующие компоненты:

    • -adr
    • -akri
    • -connectors
    • -mqttbroker
    • -dataflows
    • -schemaregistry
  2. Используя <component-release-name> из шага 1, извлеките историю изменений заблокированного релиза. Для каждого компонента из шага 1 необходимо выполнить следующую команду. Например, если компоненты -adr и -mqttbroker зависли, выполните следующую команду дважды, один раз для каждого компонента:

    helm history <component-release-name> -n azure-iot-operations
    

    Обязательно замените <component-release-name> на название версии компонентов, которые зависли. В выходных данных найдите последнюю редакцию с состоянием Deployed или Superseded запишите номер редакции.

  3. Используя номер ревизии из шага 2, откатите релиз Helm до последней успешной ревизии. You need to run the following command for each component, <component-release-name>, and its revision number, <revision-number>, from steps 1 and 2.

    helm rollback <component-release-name> <revision-number> -n azure-iot-operations
    

    Это важно

    Необходимо повторить шаги 2 и 3 для каждого застрявшего компонента. You reattempt the upgrade only after all components are rolled back to the last successful revision.

  4. After the rollback of each component is complete, reattempt the upgrade using the following command:

    az iot ops update
    

    Если вы получите сообщение Nothing to upgrade or upgrade complete, принудительно выполните обновление, добавив:

    az iot ops upgrade ....... --release-train stable 
    

Проблемы с брокером MQTT

В этом разделе перечислены текущие известные проблемы для брокера MQTT.

Ресурсы брокера MQTT не отображаются на портале Azure


Идентификатор проблемы: 4257


Log signature: N/A


Ресурсы брокера MQTT, созданные в кластере с помощью Kubernetes, не отображаются на портале Azure. Этот результат ожидается, так как управление компонентами Операций Интернета вещей Azure с помощью Kubernetes находится в предварительной версии, а синхронизация ресурсов из края в облако в настоящее время не поддерживается.

В настоящее время решение для этой проблемы отсутствует.

Azure IoT Layered Network Management (preview) issues

В этом разделе перечислены текущие известные проблемы для управления слоистой сетью Интернета вещей Azure.

Служба управления многоуровневой сетью не получает IP-адрес


Идентификатор проблемы: 7864


Log signature: N/A


Служба управления многоуровневой сетью не получает IP-адрес при запуске в K3S на узле Ubuntu.

Чтобы обойти эту проблему, переустановите K3S без Ingress-контроллера Traefik.

curl -sfL https://get.k3s.io | sh -s - --disable=traefik --write-kubeconfig-mode 644

Дополнительные сведения см. в разделе "Сеть" | K3s.

Служба CoreDNS неправильно разрешает DNS-запросы


Идентификатор проблемы: 7955


Log signature: N/A


DNS queries don't resolve to the expected IP address while using the CoreDNS service running on the child network level.

Чтобы обойти эту проблему, обновите ubuntu 22.04 и переустановите K3S.

Connector for OPC UA issues

В этом разделе перечислены текущие известные проблемы соединителя для OPC UA.

Connector pod doesn't restart after configuration change


Идентификатор проблемы: 7518


Log signature: N/A


Когда вы добавляете новый ресурс с новым профилем конечной точки ресурсов в брокер OPC UA и инициируете перенастройку, развёртывание opc.tcp подов изменяется, чтобы учесть новые скрытые монтирования для имени пользователя и пароля. Если новое подключение завершается сбоем по какой-то причине, модуль pod не перезапускается и поэтому старый поток для правильно настроенных ресурсов останавливается.

Пик данных каждые 2,5 часа с некоторыми симуляторами OPC UA


Идентификатор проблемы: 6513


Подпись журнала: увеличение объема сообщений каждые 2,5 часа


Значения данных пики каждые 2,5 часа при использовании определенных симуляторов OPC UA вызывают пики ЦП и памяти. Эта проблема не отображается с симулятором OPC PLC, используемым в кратких руководствах. Данные не теряются, но вы можете увидеть увеличение объема данных, опубликованных с сервера на брокер MQTT.

Схема сообщения не создается, если выбранные узлы в наборе данных ссылаются на то же сложное определение типа данных


Идентификатор проблемы: 7369


Log signature: An item with the same key has already been added. Key: <element name of the data type>


Схема сообщения не создается, если выбранные узлы в наборе данных ссылаются на то же сложное определение типа данных (определяемый пользователем тип структуры или перечисления).

Если вы выбираете точки данных (идентификаторы узлов) для набора данных, который использует определения сложных типов пространства имен, отличных от OPC UA (структуру или перечисление), то схема JSON не создается. Открытая схема по умолчанию отображается при создании потока данных. Например, если набор данных содержит три значения типа данных, то работает ли он в следующей таблице. Вы можете заменить int любой opC UA, встроенный в тип или примитивный тип, например string, double, floatили long:

Тип значения 1 Тип значения 2 Тип значения 3 Успешно создает схему
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 нет
int enum A enum A нет

Чтобы обойти эту проблему, можно:

  • Разделение набора данных между двумя или более ресурсами.
  • Вручную отправьте схему.
  • Используйте стандартный интерфейс nonschema в конструкторе потоков данных.

Connector for media and connector for ONVIF issues

В этом разделе перечислены текущие известные проблемы соединителя для мультимедиа и соединителя для ONVIF.

Очистка неиспользуемых ресурсов медиа-коннектора


Идентификатор проблемы: 2142


Log signature: N/A


При удалении всех профилей конечных Microsoft.Media точек ресурса развертывание для обработки мультимедиа не удаляется.

Чтобы обойти эту проблему, выполните следующую команду, используя полное имя развертывания медиа-коннектора:

kubectl delete deployment aio-opc-media-... -n azure-iot-operations

Cleanup of unused onvif-connector resources


Идентификатор проблемы: 3322


Log signature: N/A


При удалении всех профилей конечных Microsoft.Onvif точек ресурса развертывание для обработки мультимедиа не удаляется.

To work around this issue, run the following command using the full name of your ONVIF connector deployment:

kubectl delete deployment aio-opc-onvif-... -n azure-iot-operations

Процесс удаления assetType CRD не завершен


Идентификатор проблемы: 6065


Log signature: "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"


Иногда при попытке удалить Azure IoT Operations из кластера система может попасть в состояние, когда задача удаления CRD застревает в ожидании, блокируя очистку Azure IoT Operations.

Чтобы обойти эту проблему, выполните следующие действия, чтобы вручную удалить CRD и завершить удаление:

  1. Delete the AssetType CRD manually: kubectl delete crd assettypes.opcuabroker.iotoperations.azure.com --ignore-not-found=true

  2. Удалите определение задания: kubectl delete job aio-opc-delete-crds-job-<version> -n azure-iot-operations

  3. Find the Helm release for the connectors, it's the one with -connectors suffix: helm ls -a -n azure-iot-operations

  4. Uninstall Helm release without running the hook: helm uninstall aio-<id>-connectors -n azure-iot-operations --no-hooks

Проблемы с потоками данных

В этом разделе перечислены текущие известные проблемы для потоков данных.

Ресурсы потока данных не отображаются в пользовательском веб-интерфейсе операций


Идентификатор проблемы: 8724


Log signature: N/A


Data flow custom resources created in your cluster using Kubernetes aren't visible in the operations experience web UI. Этот результат ожидается, так как управление компонентами Операций Интернета вещей Azure с помощью Kubernetes находится в предварительной версии, а синхронизация ресурсов из края в облако в настоящее время не поддерживается.

В настоящее время решение для этой проблемы отсутствует.

Не удалось настроить проверку подлинности X.509 для пользовательских конечных точек Kafka


Идентификатор проблемы: 8750


Log signature: N/A


Проверка подлинности X.509 для пользовательских конечных точек Kafka в настоящее время не поддерживается.

Точки данных не проверяются на соответствие схеме


Идентификатор проблемы: 8794


Log signature: N/A


При создании потока данных можно указать схему в исходной конфигурации. Однако десериализация и проверка сообщений с помощью схемы пока не поддерживается. Указание схемы в исходной конфигурации позволяет выполнять операции только для отображения списка точек данных, но точки данных не проверяются на соответствие схеме.

Сбои подключения с сеткой событий Azure


Идентификатор проблемы: 8891


Log signature: N/A


При подключении нескольких экземпляров операций Интернета вещей к одному пространству имен Event Grid MQTT могут возникать сбои подключения из-за конфликтов клиентских идентификаторов. Идентификаторы клиентов в настоящее время являются производными от имен ресурсов потока данных, а при использовании инфраструктуры в качестве шаблонов кода для развертывания созданные клиентские идентификаторы могут быть идентичными.

Чтобы обойти эту проблему, добавьте случайность в имена потоков данных в шаблонах развертывания.

Ошибки потока данных после нарушения сети


Идентификатор проблемы: 8953


Log signature: N/A


При нарушении сетевого подключения потоки данных могут столкнуться с ошибками при отправке сообщений из-за несоответствия идентификатора производителя.

To work around this issue, restart your data flow pods.

Disconnections from Kafka endpoints


Идентификатор проблемы: 9289


Log signature: N/A


If you use control characters in Kafka headers, you might encounter disconnections. Элементы управления в заголовках Kafka, например 0x010x02, 0x03являются совместимыми с UTF-8, 0x04 но брокер MQTT операций Интернета вещей отклоняет их. Эта проблема возникает во время процесса потока данных, когда заголовки Kafka преобразуются в свойства MQTT с помощью средства синтаксического анализа UTF-8. Пакеты с символами управления могут рассматриваться как недопустимые и отклоненные брокером и привести к сбоям потока данных.

Чтобы обойти эту проблему, не используйте символы управления в заголовках Kafka.

Развертывание потока данных не завершено


Идентификатор проблемы: 9411


Подпись в журнале:

"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" [...]"


При создании нового потока данных может не завершиться развертывание. Причина в том, что cert-manager не было готово или не работало.

To work around this issue, use the following steps to manually delete the data flow operator pod to clear the crash status:

  1. Run kubectl get pods -n azure-iot-operations. In the output, Verify aio-dataflow-operator-0 is only data flow operator pod running.

  2. Выполните команду kubectl logs --namespace azure-iot-operations aio-dataflow-operator-0, чтобы проверить логи модуля оператора потока данных.

    В выходных данных проверьте последнюю запись журнала:

    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. Снова выполните команду kubectl logs с параметром --previous .

    kubectl logs --namespace azure-iot-operations --previous aio-dataflow-operator-0

    В выходных данных проверьте последнюю запись журнала:

    Failed to create webhook cert resources: Failed to update ApiError: Internal error occurred: failed calling webhook "webhook.cert-manager.io" [...].

    If you see both log entries from the two kubectl log commands, the cert-manager wasn't ready or running.

  4. Run kubectl delete pod aio-dataflow-operator-0 -n azure-iot-operations to delete the data flow operator pod. Удаление pod сбрасывает статус сбоя и перезапускает pod.

  5. Wait for the operator pod to restart and deploy the data flow.

Метрики ошибок потоков данных


Идентификатор проблемы: 2382


Log signature: N/A


Потоки данных помечают повторные попытки сообщения и повторное подключение как ошибки, что в результате может создавать впечатление, будто потоки данных нездоровые. Это поведение наблюдается только в предыдущих версиях потоков данных. Просмотрите журналы, чтобы определить, является ли поток данных работоспособным.