Share via


Déployer des extensions Opérations Azure IoT (préversion) sur un cluster Kubernetes

Important

Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.

Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Déployez Préversion Opérations Azure IoT sur un cluster Kubernetes à l’aide d’Azure CLI. Une fois que vous avez déployé Opérations Azure IoT, vous pouvez utiliser le service Préversion Azure IoT Orchestrator pour gérer et déployer d’autres charges de travail sur votre cluster.

Prérequis

Ressources cloud :

  • Un abonnement Azure.

  • Autorisations d’accès Azure. Au minimum, disposez d’autorisations Contributeur dans votre abonnement Azure. En fonction de l'état du drapeau de la fonctionnalité de déploiement que vous sélectionnez, vous pouvez également avoir besoin d'autorisations Microsoft/Authorization/roleAssignments/write pour le groupe de ressources qui contient votre cluster Kubernetes compatible avec Arc. Vous pouvez créer un rôle personnalisé dans le contrôle d’accès en fonction du rôle Azure ou attribuer un rôle intégré qui accorde cette autorisation. Pour plus d’informations, consultez rôles intégrés Azure pour général.

    Si vous n’avez pas d’autorisations d’écriture d’attribution de rôle, vous pouvez toujours déployer des Opérations Azure IoT en désactivant certaines fonctionnalités. Cette approche est décrite plus en détail dans la section Déployer des extensions de cet article.

    • Dans Azure CLI, utilisez la commande az role assignment create pour accorder des autorisations. Par exemple, az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup

    • Dans le portail Azure, vous êtes invité à restreindre l’accès à l’aide de conditions lorsque vous attribuez des rôles d’administrateur privilégiés à un utilisateur ou à un principal. Pour ce scénario, sélectionnez la conditionAutoriser l’utilisateur à attribuer tous les rôles dans la page Ajouter une attribution de rôle.

      Capture d’écran montrant l’attribution d’un accès de rôle hautement privilégié aux utilisateurs dans le portail Azure.

  • Un Azure Key Vault qui a le modèle d’autorisation défini sur stratégie d’accès du coffre. Vous pouvez vérifier ce paramètre dans la section configuration d’accès d’un coffre de clés existant. Si vous devez créer un coffre de clés, utilisez la commande az keyvault create :

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

Ressources de développement :

  • Azure CLI installé sur votre ordinateur de développement. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Installation de l’interface de ligne de commande Azure. Ce scénario nécessitent Azure CLI version 2.46.0 ou ultérieure. Utilisez az --version pour vérifier votre version et az upgrade pour effectuer une mise à jour si nécessaire.

  • Extension Opérations Azure IoT pour Azure CLI. Utilisez la commande suivante pour ajouter l’extension ou la mettre à jour vers la dernière version :

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

Un hôte de cluster :

  • Un cluster Kubernetes avec Azure Arc. Si vous n’en avez pas, suivez les étapes décrites dans Préparer votre cluster Kubernetes activé avec Azure Arc.

    Si vous avez déjà déployé Opérations Azure IoT sur votre cluster, désinstallez ces ressources avant de continuer. Pour plus d’informations, consultez Mettre à jour un déploiement.

    Les Opérations Azure IoT doivent fonctionner sur n’importe quel cluster Kubernetes conforme à CNCF. Actuellement, Microsoft prend uniquement en charge K3s sur Ubuntu Linux et WSL ou AKS Edge Essentials sur Windows. L’utilisation d’Ubuntu dans le sous-système Windows pour Linux (WSL) est le moyen le plus simple d’obtenir un cluster Kubernetes à des fins de test.

    Utilisez l’extension Opérations Azure IoT pour Azure CLI afin de vérifier que votre hôte de cluster est configuré correctement pour le déploiement en utilisant la commande verify-host sur ’hôte du cluster :

    az iot ops verify-host
    

Déployer des extensions

Utilisez Azure CLI pour déployer des composants Opérations Azure IoT sur votre cluster Kubernetes activé avec Arc.

  1. Connectez-vous à Azure CLI de manière interactive avec un navigateur, même si vous vous êtes déjà connecté avant. Si vous ne vous connectez pas de manière interactive, vous risquez d’obtenir une erreur indiquant que votre appareil doit être géré pour accéder à votre ressource lorsque vous passez à l’étape suivante pour déployer les Opérations Azure IoT.

    az login
    

    Remarque

    Si vous utilisez GitHub Codespaces dans un navigateur, az login retourne une erreur localhost dans la fenêtre du navigateur après la connexion. Pour résoudre les problèmes, soit :

    • Ouvrez l’espace de code dans le bureau VS Code, puis exécutez az login dans le terminal. Cela ouvre une fenêtre de navigateur dans laquelle vous pouvez vous connecter à Azure.
    • Ou, après avoir obtenu l’erreur localhost sur le navigateur, copiez l’URL à partir du navigateur et utilisez curl <URL> dans un nouvel onglet de terminal. Vous devez voir une réponse JSON avec le message « Vous êtes connecté à Microsoft Azure ! ».
  2. Déployez Opérations Azure IoT sur votre cluster. Utilisez des indicateurs facultatifs pour personnaliser la commande az iot ops init pour qu’elle corresponde à votre scénario.

    Par défaut, la commande az iot ops init effectue les actions suivantes, dont certaines nécessitent que le principal connecté à l’interface CLI dispose d’autorisations élevées :

    • Configurez un principal de service et une inscription d’application pour permettre à votre cluster d’accéder au coffre de clés.
    • Configurez des certificats TLS.
    • Configurez un magasin de secrets sur votre cluster qui se connecte au coffre de clés.
    • Déployez les ressources Opérations Azure IoT.
    az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --kv-id <KEYVAULT_ID>
    

    Si vous n’avez pas les autorisations Microsoft.Authorization/roleAssignment/write dans le groupe de ressources, ajoutez l’indicateur de fonctionnalité --disable-rsync-rules. Cet indicateur désactive les règles de synchronisation des ressources sur le déploiement.

    Si vous souhaitez utiliser un principal de service existant et une inscription d’application au lieu d’autoriser init à en créer de nouvelles, incluez les paramètres --sp-app-id,--sp-object-idet --sp-secret. Pour plus d’informations, consultez Configurer le principal de service et Key Vault manuellement.

  3. Une fois le déploiement terminé, vous pouvez utiliser az iot ops check pour évaluer le déploiement du service Opérations IoT pour l’intégrité, la configuration et la facilité d’utilisation. La commande check peut vous aider à trouver des problèmes dans votre déploiement et dans votre configuration.

    az iot ops check
    

    Vous pouvez également vérifier les configurations des mappages de rubriques, QoS et itinéraires de message en ajoutant le paramètre --detail-level 2 pour une vue détaillée.

Afficher les ressources de votre cluster

Pendant que le déploiement est en cours, vous pouvez surveiller les ressources appliquées à votre cluster. Vous pouvez utiliser des commandes kubectl pour observer les modifications sur le cluster ou, étant donné que le cluster est activé par Arc, vous pouvez utiliser le portail Azure.

Pour afficher les pods sur votre cluster, exécutez la commande suivante :

kubectl get pods -n azure-iot-operations

La fin du déploiement peut prendre plusieurs minutes. Réexécutez la commande get pods pour actualiser votre vue.

Pour afficher votre cluster sur le portail Azure, procédez comme suit :

  1. Dans le Portail Azure, accédez au groupe de ressources qui contient votre cluster.

  2. Dans la Vue d’ensemble du groupe de ressources, sélectionnez le nom de votre cluster.

  3. Sur votre cluster, sélectionnez Extensions dans le menu.

    Vous pouvez voir que votre cluster exécute des extensions du type microsoft.iotoperations.x, qui est le nom du groupe pour tous les composants Opérations Azure IoT et le service d’orchestration.

    Il existe également une extension appelée akvsecretsprovider. Cette extension est le fournisseur de secrets que vous avez configuré et installé sur votre cluster avec la commande az iot ops init. Vous pouvez supprimer et réinstaller les composants Opérations Azure IoT pendant le test, mais conserver l’extension du fournisseur de secrets sur votre cluster.

Conseil

Vous pouvez exécuter az iot ops check pour évaluer l’intégrité et les configurations des charges de travail AIO déployées. Par défaut, MQ, y compris les connecteurs cloud, sont évalués et vous pouvez spécifier le service avec --ops-service --svc.

Mettre à jour un déploiement

Actuellement, il n’existe aucune prise en charge de la mise à jour d’un déploiement Opérations Azure IoT existant. Commencez plutôt par un cluster propre pour un nouveau déploiement.

Si vous souhaitez supprimer le déploiement Opérations Azure IoT sur votre cluster afin de pouvoir le redéployer, accédez à votre cluster sur le Portail Azure. Sélectionnez les extensions du type microsoft.iotoperations.x et microsoft.deviceregistry.assets, puis sélectionnez Désinstaller. Conservez le fournisseur de secrets sur votre cluster, car il s’agit d’un prérequis pour le déploiement et n’est pas inclus dans un nouveau déploiement.

Étapes suivantes

Si vos composants doivent se connecter à des points de terminaison Azure tels que SQL ou Fabric, découvrez comment Gérer les secrets pour votre déploiement Opérations Azure IoT (préversion).