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


Развертывание модуля Microsoft Connected Cache во вложенных шлюзах, в том числе в сценариях IIoT (предварительная версия)

Модуль Microsoft Connected Cache поддерживает вложенные или иерархические шлюзы, в которых одно или несколько устройств шлюза IoT Edge находятся за одним шлюзом с доступом к Интернету. В этой статье описывается пример сценария развертывания с двумя вложенными устройствами шлюза Azure IoT Edge (родительский и дочерний шлюз) с исходящим прокси-сервером без проверки подлинности.

Примечание

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

На следующей схеме описан сценарий, в котором один шлюз azure IoT Edge имеет прямой доступ к ресурсам CDN и выступает в качестве родительского шлюза для другого шлюза Azure IoT Edge. Дочерний шлюз IoT Edge выступает в качестве родительского для конечного устройства Интернета вещей, например Raspberry Pi. И IoT Edge дочерний шлюз, и устройство Интернета вещей изолированы от Интернета. В этом примере демонстрируется конфигурация для двух уровней шлюзов Azure IoT Edge, но нет ограничений на глубину вышестоящий узлов, которые будет поддерживать Microsoft Connected Cache.

Схема: модули подключенного кэша Майкрософт, развернутые в двух вложенных шлюзах IoT Edge.

Дополнительные сведения о настройке многоуровневых развертываний шлюзов Azure IoT Edge см. в документации Подключение подчиненных устройств IoT Edge. Кроме того, обратите внимание: при развертывании Azure IoT Edge, Подключенного кэша Майкрософт и пользовательских модулей все модули должны находиться в одном реестре контейнеров.

Примечание

При развертывании Azure IoT Edge, Подключенного кэша Майкрософт и пользовательских модулей все модули должны находиться в одном реестре контейнеров.

Настройка родительского шлюза

Выполните следующие действия, чтобы настроить модуль Microsoft Connected Cache на устройстве родительского шлюза.

  1. Добавьте модуль Microsoft Connected Cache в развертывание устройства шлюза Azure IoT Edge в Центр Интернета вещей Azure (дополнительные сведения о том, как запросить доступ к модулю предварительной версии, см. в разделе Поддержка отключенных устройств).

  2. Добавьте переменные среды для развертывания. В следующей таблице приведен пример переменных среды:

    Имя Значение
    CACHE_NODE_ID См. описания переменных среды.
    CUSTOMER_ID См. описания переменных среды.
    CUSTOMER_KEY См. описания переменных среды.
    STORAGE_1_SIZE_GB 10
    CACHEABLE_CUSTOM_1_HOST Packagerepo.com:80
    CACHEABLE_CUSTOM_1_CANONICAL Packagerepo.com
    IS_SUMMARY_ACCESS_UNRESTRICTED true
  3. Добавьте параметры создания контейнера для развертывания. Параметры создания контейнеров MCC для отдельных или вложенных шлюзов не имеют никакой разницы. В следующем примере показаны параметры создания контейнера для модуля MCC:

    {
        "HostConfig": {
            "Binds": [
                "/MicrosoftConnectedCache1/:/nginx/cache1/"
            ],
            "PortBindings": {
                "8081/tcp": [
                    {
                        "HostPort": "80"
                    }
                ],
                "5000/tcp": [
                    {
                        "HostPort": "5100"
                    }
                ]
            }
        }
    }
    

Настройка дочернего шлюза

Выполните следующие действия, чтобы настроить модуль Microsoft Connected Cache на устройстве дочернего шлюза.

Примечание

Если в вашем собственном частном реестре есть реплицированные контейнеры, используемые в конфигурации, потребуется внести изменения в параметры config.toml и параметры среды выполнения в развертывании модуля. Дополнительные сведения см. в статье Подключение подчиненных устройств IoT Edge.

  1. Измените путь к образу для агента IoT Edge, как показано в следующем примере:

    [agent]
    name = "edgeAgent"
    type = "docker"
    env = {}
    [agent.config]
    image = "<parent_device_fqdn_or_ip>:8000/iotedge/azureiotedge-agent:1.2.0-rc2"
    auth = {}
    
  2. Измените параметры концентратора IoT Edge и среды выполнения агента в развертывании IoT Edge, как показано в этом примере:

    • Для образа концентратора IoT Edge введите$upstream:8000/iotedge/azureiotedge-hub:1.2.0-rc2
    • Для образа агента IoT Edge введите$upstream:8000/iotedge/azureiotedge-agent:1.2.0-rc2
  3. Добавьте модуль Подключенного кэша Майкрософт в развертывание устройства шлюза Azure IoT Edge в Центре Интернета вещей Azure.

    • Присвойте модулю имя: ConnectedCache.
    • Измените универсальный код ресурса (URI) образа: $upstream:8000/mcc/linux/iot/mcc-ubuntu-iot-amd64:latest
  4. Добавьте тот же набор переменных среды и параметров создания контейнера, которые используются в развертывании родительского шлюза.

    Примечание

    CACHE_NODE_ID должна быть уникальной. Значения CUSTOMER_ID и CUSTOMER_KEY будут идентичны родительским. Дополнительные сведения см. в разделе Переменные среды модуля.

Чтобы проверить, правильно ли функционирует Подключенный кэш Майкрософт, выполните приведенную ниже команду в терминале устройства IoT Edge, в котором размещен модуль, или любого устройства в сети. Замените <IP-адрес шлюза Azure IoT Edge> с IP-адресом или именем узла шлюза IoT Edge. Сведения о видимости этого отчета см. в статье Сводный отчет Microsoft Connected Cache.

wget http://<CHILD Azure IoT Edge Gateway IP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com

Конфигурация промышленного Интернета вещей (IIoT)

Производственные сети часто организованы в виде иерархических уровней в соответствии с моделью сети Пердью (входящей в стандарты ISA 95 и ISA 99). В этих сетях только верхний уровень имеет возможность подключения к облаку, а нижние уровни могут взаимодействовать только с непосредственно соседними с ними уровнями.

В этом примере GitHub azure IoT Edge для промышленного Интернета вещей развертываются следующие компоненты:

  • имитированная сеть Пердью в Azure;
  • промышленные ресурсы;
  • иерархия шлюзов Azure IoT Edge.

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

Ключом к настройке развертываний Подключенного кэша Майкрософт в сети, совместимой с ISA 95, является настройка как прокси-сервера, так и вышестоящего узла на шлюзе IOT Edge уровня 3.

  1. Настройте развертывания Подключенного кэша Майкрософт на уровнях 5 и 4, как описано в примере двухуровневого вложенного шлюза IoT Edge.

  2. В развертывании на шлюзе IoT Edge уровня 3 нужно указать следующее:

    • UPSTREAM_HOST — IP-адрес или полное доменное имя шлюза IoT Edge уровня 4, у которого Подключенный кэш Майкрософт уровня 3 будет запрашивать содержимое.
    • UPSTREAM_PROXY: IP-адрес или полное доменное имя и порт прокси-сервера OT.
  3. Прокси-сервер OT должен добавить в список разрешений полное доменное имя или IP-адрес MCC уровня 4.

Чтобы убедиться, что подключенный кэш Майкрософт работает правильно, выполните следующую команду в терминале IoT Edge устройства, на котором размещен модуль, или любого устройства в сети. Замените <IP-адрес шлюза Azure IoT Edge> с IP-адресом или именем узла шлюза IoT Edge. Сведения о видимости этого отчета см. в статье Сводный отчет Microsoft Connected Cache.

wget http://<L3 IoT Edge Gateway IP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com