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


Развертывание расширений Azure IoT Operations Preview в кластере Kubernetes

Внимание

Предварительная версия операций Интернета вещей Azure, включенная Azure Arc в настоящее время находится в предварительной версии. Не следует использовать это программное обеспечение предварительной версии в рабочих средах.

Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Разверните предварительную версию операций Интернета вещей Azure в кластере Kubernetes с помощью Azure CLI. После развертывания операций Интернета вещей Azure можно использовать службу Azure IoT Orchestrator Preview для управления и развертывания других рабочих нагрузок в кластере.

Необходимые компоненты

Облачные ресурсы.

  • Подписка Azure.

  • Разрешения доступа Azure. Как минимум, у вас есть разрешения участника в подписке Azure. В зависимости от выбранного состояния флага компонента развертывания может потребоваться также разрешение Microsoft/Authorization/roleAssignments/write для группы ресурсов, содержащей кластер Kubernetes с поддержкой Arc. Вы можете сделать пользовательскую роль в управлении доступом на основе ролей Azure или назначить встроенную роль, которая предоставляет это разрешение. Дополнительные сведения см. в статье о встроенных ролях Azure для общего.

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

    • В Azure CLI используйте команду az role assignment create , чтобы предоставить разрешения. Например: az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup

    • В портал Azure вам будет предложено ограничить доступ с помощью условий при назначении привилегированных ролей администратора пользователю или субъекту. В этом сценарии выберите условие "Разрешить пользователю назначать все роли" на странице "Добавление назначения ролей".

      Снимок экрана: назначение пользователям доступа к роли с высоким уровнем привилегий в портал Azure.

  • Azure Key Vault с моделью разрешений, заданной политикой доступа к Хранилищу. Этот параметр можно проверить в разделе конфигурации Access существующего хранилища ключей. Если необходимо создать новое хранилище ключей, используйте команду az keyvault create :

    az keyvault create --enable-rbac-authorization false --name "<KEYVAULT_NAME>" --resource-group "<RESOURCE_GROUP>"
    

Ресурсы разработки.

  • Azure CLI, установленный на компьютере разработки. Дополнительные сведения см. в статье "Установка Azure CLI". Для этого сценария требуется Azure CLI версии 2.46.0 или более поздней. Используйте az --version для проверки версии и az upgrade обновления при необходимости.

  • Расширение операций Интернета вещей Azure для Azure CLI. Используйте следующую команду, чтобы добавить расширение или обновить его до последней версии:

    az extension add --upgrade --name azure-iot-ops
    

Узел кластера:

  • Кластер Kubernetes с поддержкой Azure Arc. Если у вас нет одного, выполните действия, описанные в статье "Подготовка кластера Kubernetes с поддержкой Azure Arc".

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

    Операции Интернета вещей Azure должны работать в любом кластере Kubernetes, соответствующего CNCF. В настоящее время корпорация Майкрософт поддерживает только K3s в Ubuntu Linux и WSL или AKS Edge Essentials в Windows. Использование Ubuntu в подсистема Windows для Linux (WSL) — это самый простой способ получить кластер Kubernetes для тестирования.

    Используйте расширение операций Интернета вещей Azure для Azure CLI, чтобы убедиться, что узел кластера настроен правильно для развертывания с помощью команды проверки узла на узле кластера:

    az iot ops verify-host
    

Развертывание расширений

Используйте Azure CLI для развертывания компонентов Операций Интернета вещей Azure в кластере Kubernetes с поддержкой Arc.

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

    az login
    

    Примечание.

    Если вы используете GitHub Codespaces в браузере, az login возвращает ошибку localhost в окне браузера после входа. Чтобы устранить эту проблему, выполните следующие действия:

    • Откройте пространство кода на рабочем столе VS Code и запустите az login его в терминале. Откроется окно браузера, в котором можно войти в Azure.
    • Или после получения ошибки localhost в браузере скопируйте URL-адрес из браузера и используйте curl <URL> на новой вкладке терминала. Вы увидите ответ JSON с сообщением "Вы вошли в Microsoft Azure!".
  2. Разверните операции Интернета вещей Azure в кластере. Используйте необязательные флаги, чтобы настроить команду az iot ops init в соответствии с вашим сценарием.

    По умолчанию az iot ops init команда выполняет следующие действия, некоторые из которых требуют, чтобы субъект, вошедшего в интерфейс командной строки, имеет повышенные разрешения:

    • Настройте субъект-службу и регистрацию приложения, чтобы предоставить кластеру доступ к хранилищу ключей.
    • Настройте сертификаты TLS.
    • Настройте хранилище секретов в кластере, которое подключается к хранилищу ключей.
    • Разверните ресурсы операций Интернета вещей Azure.
    az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id <KEYVAULT_SETTINGS_PROPERTIES_RESOURCE_ID>
    

    Внимание

    По умолчанию команда az iot ops init не развертывает компонент обработчика данных. Чтобы развернуть обработчик данных, добавьте --include-dp аргумент.

    Если у вас нет разрешений Microsoft.Authorization/roleAssignment/write в группе ресурсов, добавьте --disable-rsync-rules флаг компонента. Этот флаг отключает правила синхронизации ресурсов в развертывании.

    Если вы хотите использовать существующий субъект-службу и регистрацию приложения, а не разрешить init создавать новые, включите --sp-app-id, --sp-object-idпараметры и --sp-secret параметры. Дополнительные сведения см. в разделе "Настройка субъекта-службы" и Key Vault вручную.

  3. После завершения развертывания можно использовать az iot ops check для оценки развертывания службы Операций Интернета вещей для работоспособности, конфигурации и удобства использования. Команда проверки поможет найти проблемы в развертывании и конфигурации.

    az iot ops check
    

    Вы также можете проверить конфигурации карт тем, QoS и маршрутов сообщений, добавив --detail-level 2 параметр для подробного представления.

Просмотр ресурсов в кластере

Пока развертывание выполняется, вы можете наблюдать за тем, как ресурсы применяются к кластеру. Команды kubectl можно использовать для наблюдения за изменениями в кластере или, так как кластер включен Arc, можно использовать портал Azure.

Чтобы просмотреть модули pod в кластере, выполните следующую команду:

kubectl get pods -n azure-iot-operations

Для завершения развертывания может потребоваться несколько минут. Повторно выполните get pods команду, чтобы обновить представление.

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

  1. В портал Azure перейдите к группе ресурсов, содержащей кластер.

  2. В обзоре группы ресурсов выберите имя кластера.

  3. В кластере выберите "Расширения" в меню.

    Вы можете увидеть, что кластер выполняет расширения типа microsoft.iotoperations.x, который является именем группы для всех компонентов Операций Интернета вещей Azure и службы оркестрации.

    Существует также расширение akvsecretsprovider. Это расширение является поставщиком секретов, настроенным и установленным в кластере az iot ops init с помощью команды. Вы можете удалить и переустановить компоненты Операций Интернета вещей Azure во время тестирования, но сохранить расширение поставщика секретов в кластере.

Совет

Вы можете выполнить az iot ops check оценку работоспособности и конфигурации развернутых рабочих нагрузок AIO. По умолчанию MQ, включая облачные соединители, оцениваются, и вы можете определить службу с --ops-service --svcпомощью .

Удаление операций Интернета вещей Azure

Используйте команду az iot ops delete для удаления или удаления операций Интернета вещей Azure из кластера. Команда delete оценивает связанные ресурсы Операций Интернета вещей Azure в кластере и представляет представление дерева для удаления ресурсов. Кластер должен быть подключен к сети перед запуском.

Команда delete удаляет:

  • Расширения операций Интернета вещей Azure
  • Правила синхронизации ресурсов Операций Интернета вещей Azure
  • Ресурсы операций Интернета вещей Azure
  • Связанное пользовательское расположение
az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>

Обновление операций Интернета вещей Azure

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

  1. Используйте команду az iot ops delete, чтобы удалить развертывание Операций Интернета вещей Azure в кластере.

    az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>
    
  2. Обновите расширение CLI, чтобы получить последнюю версию Операций Интернета вещей Azure.

    az extension update --name azure-iot-ops
    
  3. Выполните действия, описанные в этой статье, чтобы развернуть последнюю версию операций Интернета вещей Azure в кластере.

    Совет

    --ensure-latest Добавьте флаг в az iot ops init команду, чтобы убедиться, что установлена последняя версия Интерфейса командной строки Операций Интернета вещей Azure и возникает ошибка, если обновление доступно.

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

Если компоненты должны подключаться к конечным точкам Azure, таким как SQL или Fabric, узнайте, как управлять секретами для развертывания Azure IoT Operations Preview.