Развертывание расширений 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 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.
Войдите в Azure CLI в интерактивном режиме с помощью браузера, даже если вы уже выполнили вход. Если вы не войдете в систему в интерактивном режиме, может появиться сообщение об ошибке, в которой говорится, что устройство должно управляться для доступа к ресурсу при переходе к следующему шагу для развертывания операций Интернета вещей Azure.
az login
Примечание.
Если вы используете GitHub Codespaces в браузере,
az login
возвращает ошибку localhost в окне браузера после входа. Чтобы устранить эту проблему, выполните следующие действия:- Откройте пространство кода на рабочем столе VS Code и запустите
az login
его в терминале. Откроется окно браузера, в котором можно войти в Azure. - Или после получения ошибки localhost в браузере скопируйте URL-адрес из браузера и используйте
curl <URL>
на новой вкладке терминала. Вы увидите ответ JSON с сообщением "Вы вошли в Microsoft Azure!".
- Откройте пространство кода на рабочем столе VS Code и запустите
Разверните операции Интернета вещей 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 вручную.После завершения развертывания можно использовать 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, выполните следующие действия.
В портал Azure перейдите к группе ресурсов, содержащей кластер.
В обзоре группы ресурсов выберите имя кластера.
В кластере выберите "Расширения" в меню.
Вы можете увидеть, что кластер выполняет расширения типа 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.
Используйте команду az iot ops delete, чтобы удалить развертывание Операций Интернета вещей Azure в кластере.
az iot ops delete --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>
Обновите расширение CLI, чтобы получить последнюю версию Операций Интернета вещей Azure.
az extension update --name azure-iot-ops
Выполните действия, описанные в этой статье, чтобы развернуть последнюю версию операций Интернета вещей Azure в кластере.
Совет
--ensure-latest
Добавьте флаг вaz iot ops init
команду, чтобы убедиться, что установлена последняя версия Интерфейса командной строки Операций Интернета вещей Azure и возникает ошибка, если обновление доступно.
Следующие шаги
Если компоненты должны подключаться к конечным точкам Azure, таким как SQL или Fabric, узнайте, как управлять секретами для развертывания Azure IoT Operations Preview.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по