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


Запуск Azure IoT Edge на виртуальных машинах Ubuntu

Область применения: Флажок IoT Edge 1.5 IoT Edge 1.5 Флажок IoT Edge 1.4 IoT Edge 1.4

Внимание

Поддерживаются выпуски IoT Edge 1.5 LTS и IoT Edge 1.4 LTS. IoT Edge 1.4 LTS заканчивается жизнью 12 ноября 2024 года. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.

Среда выполнения Azure IoT Edge превращает устройство в устройство IoT Edge. среда выполнения может быть развернута на любых устройствах — от Raspberry Pi до промышленного сервера. После настройки устройства с помощью среды выполнения IoT Edge можно приступить к развертыванию в ней бизнес-логики из облака.

Дополнительные сведения о работе среды выполнения IoT Edge и ее компонентах см. в статье Общие сведения о среде выполнения Azure IoT Edge и ее архитектуре.

В этой статье перечислены шаги по развертыванию виртуальной машины Ubuntu с установленной средой выполнения Azure IoT Edge и настройкой с помощью предварительно подготовленных устройств строка подключения. Развертывание выполняется с помощью шаблона Azure Resource Manager на основе cloud-init, поддерживаемого в репозитории проектов iotedge-vm-deploy.

При первой загрузке виртуальная машина устанавливает последнюю версию среды выполнения Azure IoT Edge через cloud-init. Она также задает предоставленную строку подключения перед запуском среды выполнения, что позволяет легко настраивать и подключать устройство IoT Edge без необходимости запуска сеанса SSH или удаленного рабочего стола.

Развертывание с помощью кнопки "Развернуть в Azure"

Кнопка "Развернуть в Azure" позволяет упростить развертывание шаблонов Azure Resource Manager, поддерживаемых на GitHub. В этом разделе показано использование кнопки "Развернуть в Azure", содержащейся в репозитории проекта iotedge-vm-deploy .

  1. Вы развернете виртуальную машину Linux с поддержкой Azure IoT Edge с помощью шаблона Iotedge-vm-deploy Azure Resource Manager. Чтобы начать, нажмите следующую кнопку:

    Кнопка

  2. В открывшемся окне заполните доступные поля формы.

    Снимок экрана с шаблоном iotedge-vm-deploy

    Поле Description
    Подписка Активная подписка Azure для развертывания виртуальной машины.
    Группа ресурсов Существующая или только что созданная группа ресурсов, содержащая виртуальную машину и связанные с ней ресурсы.
    Регион Географический регион для развертывания виртуальной машины, это значение по умолчанию соответствует расположению выбранной группы ресурсов.
    Префикс метки DNS Необходимое значение, которое используется для добавления префикса имени узла виртуальной машины.
    Имя администратора Имя пользователя, которое предоставляет корневые привилегии при развертывании.
    Строка подключения устройства Строка подключения для устройства, созданного в предполагаемом Центре Интернета вещей.
    Размер виртуальной машины Размер развертываемой виртуальной машины.
    Версия ОС Ubuntu Версия операционной системы Ubuntu, устанавливаемая на базовую виртуальную машину.
    Тип проверки подлинности Выберите sshPublicKey или пароль в зависимости от ваших предпочтений.
    Пароль или ключ администратора Значение открытого ключа SSH или значение пароля в зависимости от выбранного типа проверки подлинности.

    Выберите Next : Review + create , чтобы просмотреть условия и нажмите кнопку "Создать ", чтобы начать развертывание.

  3. Убедитесь, что развертывание выполнено успешно. Ресурс виртуальной машины развертывается в выбранной группе ресурсов. Запишите имя компьютера, оно должно быть указано в формате vm-0000000000000. Кроме того, запишите связанное DNS-имя, которое должно быть в формате <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    DNS-имя указано в разделе Обзор развернутой виртуальной машины на портале Azure.

    Экран

  4. Если после завершения установки вы хотите подключиться к этой виртуальной машине по протоколу SSH, используйте соответствующее DNS-имя с помощью команды: ssh <adminUsername>@<DNS_Name>

Развертывание с помощью Azure CLI

  1. Убедитесь, что вы установили расширение iot Azure CLI:

    az extension add --name azure-iot
    
  2. Затем, если вы используете Azure CLI на настольном компьютере, сначала выполните вход:

    az login
    
  3. Если у вас несколько подписок, выберите ту, которую необходимо использовать:

    1. Отобразите список подписок:

      az account list --output table
      
    2. Скопируйте поле SubscriptionID подписки, которую необходимо использовать.

    3. Укажите в рабочей подписке идентификатор, который вы скопировали:

      az account set -s <SubscriptionId>
      
  4. Создайте группу ресурсов (или выберите уже имеющуюся на следующих этапах):

    az group create --name IoTEdgeResources --location westus2
    
  5. Создайте виртуальную машину:

    Сведения об использовании authenticationType passwordсм. в следующем примере:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='password' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
    

    Чтобы пройти проверку подлинности с помощью ключа SSH, укажите тип проверки подлинностиsshPublicKey, а затем укажите значение ключа SSH в параметре adminPasswordOrKey. См. следующий пример.

    #Generate the SSH Key
    ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N ""
    
    #Create a VM using the iotedge-vm-deploy script
    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \
    --parameters authenticationType='sshPublicKey' \
    --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
    
  6. Убедитесь, что развертывание выполнено успешно. Ресурс виртуальной машины должен быть развернут в выбранной группе ресурсов. Запишите имя компьютера, оно должно быть указано в формате vm-0000000000000. Кроме того, запишите связанное DNS-имя, которое должно быть в формате <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    DNS-имя можно получить из выходных данных в формате JSON из предыдущего шага в разделе outputs как часть общедоступной записи SSH. Значение этой записи можно использовать для подключения к только что развернутой машине по протоколу SSH.

    "outputs": {
      "public SSH": {
        "type": "String",
        "value": "ssh <adminUsername>@<DNS_Name>"
      }
    }
    

    DNS-имя также указано в разделе Обзор развернутой виртуальной машины на портале Azure.

    Экран

  7. Если после завершения установки вы хотите подключиться к этой виртуальной машине по протоколу SSH, используйте соответствующее DNS-имя с помощью команды: ssh <adminUsername>@<DNS_Name>

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

Теперь, когда подготовлено устройство IoT Edge и установлена среда выполнения, вы можете развернуть модули IoT Edge.

Если вам не удается установить среду выполнения IoT Edge, перейдите на страницу со сведениями об устранении неполадок.

Чтобы обновить существующую установку до последней версии IoT Edge, см. раздел Обновление управляющей программы безопасности и среды выполнения IoT Edge.

Если вы хотите открыть порты для доступа к виртуальной машине через SSH или другие входящие подключения, обратитесь к документации по Azure Виртуальные машины о открытии портов и конечных точек на виртуальной машине Linux.