Устранение неполадок IoT Edge на устройстве GPU Azure Stack Edge Pro

ОБЛАСТЬ ПРИМЕНЕНИЯ:Yes for Pro GPU SKUAzure Stack Edge Pro — GPUYes for Pro 2 SKUAzure Stack Edge Pro 2Yes for Pro R SKUAzure Stack Edge Pro RYes for Mini R SKUAzure Stack Edge Mini R

В этой статье описывается, как устранить ошибки вычисления на устройстве GPU Azure Stack Edge Pro путем проверки откликов среды выполнения для агента IoT Edge и ошибок для службы IoT Edge, установленной на устройстве.

Проверка отклика среды выполнения IoT Edge

Используйте ответы среды выполнения агента IoT Edge для устранения ошибок, связанных с вычислением. Ниже перечислены возможные ответы:

  • 200 – OK
  • 400 — конфигурация развертывания имеет неправильный формат или недопустима.
  • 417 — у устройства нет заданной конфигурации развертывания.
  • 412 — версия схемы в конфигурации развертывания недопустима.
  • 406 — устройство IoT Edge работает в автономном режиме или не отправляет отчеты о состоянии.
  • 500 — в среде выполнения IoT Edge произошла ошибка.

Дополнительные сведения см. в разделе Агент IoT Edge.

Устранение ошибок службы IoT Edge

Следующие ошибки связаны со службой IoT Edge на устройстве GPU Azure Stack ребра Pro.

Модули вычислений имеют неизвестное состояние и не могут использоваться

Описание ошибки

Все модули на устройстве отображают состояние "Неизвестно" и их нельзя использовать. Состояние "Неизвестно" сохраняется через перезагрузку.

Предлагаемое решение

Удалите службу IoT Edge, а затем повторно разверните модули. Дополнительные сведения см. в разделе Удаление службы IoT Edge.

Модули отображаются как работающие, но не работают

Описание ошибки

В качестве состояния среды выполнения модуля отображается значение "Выполняется", но ожидаемые результаты отсутствуют.

Это может быть вызвано неработающей конфигурацией маршрута модуля или тем, что edgehub неправильно выполняет маршрутизацию сообщений. Можете изучить журналы edgehub. Если вы видите ошибки, например сбой подключения к службе "Центр Интернета вещей", то наиболее распространенной причиной являются проблемы с подключением. Проблемы с подключением могут возникать из-за того, что порт AMPQ, используемый службой "Центр Интернета вещей" в качестве порта по умолчанию для обмена данными, блокируется, или веб-прокси блокирует эти сообщения.

Предлагаемое решение

Выполните следующие шаги:

  1. Чтобы устранить эту ошибку, перейдите к ресурсу Центра Интернета вещей для своего устройства, а затем выберите свое пограничное устройство.
  2. Перейдите к разделу "Настройка параметров среды выполнения модулей>".
  3. Добавьте переменную среды Upstream protocol и присвойте ей значение AMQPWS. Сообщения, настроенные в этом случае, отправляются по протоколу WebSocket через порт 443.

Модули отображаются как запущенные, но не назначены IP-адреса.

Описание ошибки

В качестве состояния среды выполнения модуля отображается значение "Выполняется", но для контейнерного приложения не назначен IP-адрес.

Это происходит из-за того, что диапазон IP-адресов, предоставленный вами для внешних служб Kubernetes, слишком мал. Расширьте этот диапазон, чтобы в него входил каждый развернутый контейнер или виртуальная машина.

Предлагаемое решение

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

  1. Перейдите на страницу Вычисление. Выберите порт, для которого вы включили сеть вычислений.
  2. Введите статический и непрерывный диапазон IP-адресов в качестве значения параметра IP-адреса внешних служб Kubernetes. Для службы edgehub необходим один IP-адрес. Кроме того, нужен один IP-адрес для каждого модуля IoT Edge и для каждой виртуальной машины, которые вы планируете развертывать.
  3. Нажмите Применить. Измененный диапазон IP-адресов должен вступить в силу немедленно.

Дополнительные сведения см. в разделе Изменение IP-адресов внешних служб для контейнеров.

Как настроить статические IP-адреса для модулей IoT Edge

Описание проблемы

Kubernetes назначает динамические IP-адреса каждому модулю IoT Edge на устройстве GPU Azure Stack Edge Pro. Для настройки статических IP-адресов модулей необходим метод.

Предлагаемое решение

Вы можете указать фиксированные IP-адреса для модулей IoT Edge с помощью экспериментального раздела K8s, как описано ниже.

{
  "k8s-experimental": {
    "serviceOptions" : {
      "loadBalancerIP" : "100.23.201.78",
      "type" : "LoadBalancer"
    }
  }
}

Как предоставить службу Kubernetes в качестве IP-службы кластера для внутренней связи

Описание проблемы

По умолчанию типом службы IoT является подсистема балансировки нагрузки, и службе назначаются внешние IP-адреса. Если приложению требуются объекты pod Kubernetes в кластере Kubernetes для доступа к другим модулям pod в кластере, возможно, вам потребуется настроить службу в качестве IP-службы кластера, а не службы подсистемы балансировки нагрузки. Дополнительные сведения см. в статье Сеть Kubernetes на устройстве GPU Azure Stack Edge Pro.

Предлагаемое решение

Вы можете использовать параметры создания в экспериментальном разделе K8s. Приведенный ниже параметр службы должен работать с привязками портов.

{
"k8s-experimental": {
  "serviceOptions" : {
    "type" : "ClusterIP"
    }
  }
}

Не удается создать или обновить роль Интернета вещей

Описание проблемы

При настройке устройства Интернета вещей во время установки может возникнуть следующая ошибка:

(Код состояния HTTP: 400) Не удалось создать или обновить роль Интернета вещей в <YourDeviceName>. Произошла ошибка с кодом ошибки {NO_PARAM}. Дополнительные сведения см. в сведениях об коде ошибки (https://aka.ms/dbe-error-codes). Если ошибка сохраняется, обратитесь к служба поддержки Майкрософт.

Предлагаемое решение

Если брандмауэр центра обработки данных ограничивает или фильтрует трафик на основе исходных IP-адресов или MAC-адресов, убедитесь, что IP-адреса вычислительных вычислений (IP-адреса узлов Kubernetes) и MAC-адреса находятся в разрешенном списке. MAC-адреса можно указать, выполнив Set-HcsMacAddressPool командлет в интерфейсе PowerShell устройства.

Следующие шаги