Partage via


Démarrage rapide : déployer Opérations Azure IoT (préversion) sur un cluster Kubernetes avec Arc

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.

Dans ce guide de démarrage rapide, vous déployez une suite de services IoT sur un cluster Kubernetes avec Azure Arc afin de pouvoir gérer à distance vos appareils et charges de travail. Opérations Azure IoT est une suite d’opérations numériques de services qui inclut Azure IoT Orchestrator Préversion. Ce guide de démarrage rapide vous guide tout au long de l’utilisation d’Orchestrator pour déployer ces services sur un cluster Kubernetes. À la fin du guide de démarrage rapide, vous disposez d’un cluster que vous pouvez gérer à partir du cloud qui génère des exemples de données à utiliser dans les guides de démarrage rapide suivants.

Les services déployés dans ce guide de démarrage rapide sont les suivants :

Les guides de démarrage rapide suivants de cette série s'appuient sur celui-ci pour définir des exemples d'actifs, des pipelines de traitement de données et des visualisations. Si vous souhaitez déployer Azure IoT Operations pour exécuter vos propres charges de travail, consultez Préparer votre cluster Kubernetes avec Azure Arc et Déployer des extensions Azure IoT Operations préversion sur un cluster Kubernetes.

Avant de commencer

Cette série de guides de démarrage rapide est destinée à vous aider à prendre en main Azure IoT Operations le plus rapidement possible afin de pouvoir évaluer un scénario de bout en bout. Dans un environnement de développement ou de production réel, ces tâches sont effectuées par plusieurs équipes travaillant ensemble et certaines tâches peuvent nécessiter des autorisations élevées.

Pour une nouvelle expérience utilisateur optimale, nous vous recommandons d’utiliser un compte gratuit Azure afin que vous disposiez d’autorisations de propriétaire sur les ressources de ces guides de démarrage rapide. Nous présentons des étapes également d’utiliser GitHub Codespaces comme environnement virtuel dans lequel vous pouvez rapidement commencer à déployer des ressources et à exécuter des commandes sans installer de nouveaux outils sur vos propres machines.

Prérequis

Pour ce guide de démarrage rapide, vous créez un cluster Kubernetes pour recevoir le déploiement Azure IoT Operations.

Si vous souhaitez réexécuter ce guide de démarrage rapide avec un cluster sur lequel Opérations Azure IoT est déjà déployé, reportez-vous aux étapes décrites dans Nettoyer les ressources pour désinstaller Opérations Azure IoT avant de continuer.

Avant de commencer, respectez les conditions préalables suivantes :

Quel problème résoudrons-nous ?

Opérations Azure IoT est une suite de services de données qui s’exécutent sur des clusters Kubernetes. Vous souhaitez que ces clusters soient gérés à distance à partir du cloud et qu’ils puissent communiquer en toute sécurité avec les ressources et les points de terminaison cloud. Nous abordons ces problèmes avec les tâches suivantes dans ce guide de démarrage rapide :

  1. Créez un cluster Kubernetes et connectez-le à Azure Arc pour la gestion à distance.
  2. Créez un coffre de clés Azure pour gérer les secrets de votre cluster.
  3. Configurez votre cluster avec un magasin de secrets et un principal de service pour communiquer avec les ressources cloud.
  4. Déployez Opérations Azure IoT sur votre cluster.

Connecter un cluster Kubernetes à Azure Arc

Opérations Azure IoT doit fonctionner sur n’importe quel cluster Kubernetes conforme aux normes de Cloud Native Computing Foundation (CNCF). Pour ce guide de démarrage rapide, utilisez GitHub Codespaces pour héberger votre cluster.

Dans cette section, vous allez créer un cluster et le connecter à Azure Arc. Si vous souhaitez réutiliser un cluster sur lequel vous avez déployé des opérations Azure IoT avant, reportez-vous aux étapes décrites dans Nettoyer les ressources pour désinstaller Azure IoT Operations avant de continuer.

Utilisez GitHub Codespaces pour essayer Opérations Azure IoT sur un cluster Kubernetes sans installer quoi que ce soit sur votre ordinateur local. Le codespace Azure-Samples/explore-iot-operations est préconfiguré avec :

  • K3s s’exécutant dans K3d pour un cluster Kubernetes léger
  • Azure CLI
  • Kubectl pour la gestion des ressources Kubernetes
  • D’autres outils utiles tels que Helm et k9s

Important

Les espaces de code sont faciles à configurer rapidement et à détruire ultérieurement, mais ils ne conviennent pas à l’évaluation des performances ou aux tests de mise à l’échelle. Utilisez GitHub Codespaces uniquement pour l’exploration.

Pour créer votre espace de code et votre cluster, procédez comme suit :

  1. Créez le codespace dans GitHub Codespaces.

    Créer un codespace explorer-iot-operations

  2. Fournissez les secrets recommandés suivants pour votre codespace :

    Paramètre Valeur
    SUBSCRIPTION_ID Votre ID d’abonnement Azure.
    RESOURCE_GROUP Nom d'un nouveau groupe de ressources Azure dans lequel votre cluster sera créé.
    LOCATION Une région Azure proche de vous. Les régions suivantes sont prises en charge en préversion publique : eastus, eastus2, westus, westus2, westus3, westeurope ou northeurope.

    Conseil

    Les valeurs que vous fournissez à cette étape sont enregistrées sur votre compte GitHub pour être utilisées dans ce codespace et les suivants. Elles sont également ajoutées automatiquement comme variables d’environnement dans le terminal du codespace, et vous pouvez utiliser ces variables d’environnement dans les commandes CLI de la section suivante.

    En outre, cet espace de code crée automatiquement une variable d’environnement CLUSTER_NAME définie avec le nom de l’espace de code.

  3. Sélectionnez Créer un nouvel espace de code.

  4. Une fois l’espace de code prêt, sélectionnez le bouton de menu en haut à gauche, puis sélectionnez Ouvrir dans VS Code Desktop.

    Ouvrir VS Code pour appareil de bureau

  5. Si vous y êtes invité, installez l’extension GitHub Codespaces pour Visual Studio Code et connectez-vous à GitHub.

  6. Dans Visual Studio Code, sélectionnez Afficher>Terminal.

    Utilisez ce terminal pour exécuter toutes les commandes de ligne de commande et CLI pour gérer votre cluster.

Pour connecter votre cluster à Azure Arc :

  1. Dans votre terminal Codespace, connectez-vous à Azure CLI :

    az login
    

    Conseil

    Si vous utilisez l’environnement GitHub codespace dans un navigateur plutôt que sur le bureau VS Code, l’exécution az login retourne une erreur localhost. Pour corriger l’erreur, effectuez les opérations suivantes :

    • Ouvrez le codespace dans le bureau VS Code, puis revenez au terminal du navigateur et réexécutez az login.
    • Ou bien, après avoir obtenu l’erreur localhost sur le navigateur, copiez l’URL à partir du navigateur et exécutez 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éfinissez le contexte d’abonnement Azure pour toutes les commandes :

    az account set -s $SUBSCRIPTION_ID
    
  3. Inscrivez les fournisseurs de ressources demandés dans votre abonnement :

    Remarque

    Cette étape doit être exécutée une seule fois par abonnement.

    az provider register -n "Microsoft.ExtendedLocation"
    az provider register -n "Microsoft.Kubernetes"
    az provider register -n "Microsoft.KubernetesConfiguration"
    az provider register -n "Microsoft.IoTOperationsOrchestrator"
    az provider register -n "Microsoft.IoTOperationsMQ"
    az provider register -n "Microsoft.IoTOperationsDataProcessor"
    az provider register -n "Microsoft.DeviceRegistry"
    
  4. Utilisez la commande az group create pour créer un groupe de ressources dans votre abonnement Azure pour stocker toutes les ressources :

    az group create --location $LOCATION --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    
  5. Utilisez la commande az connectedk8s connect pour activer Arc sur votre cluster Kubernetes et le gérer comme partie de votre ressource Azure :

    az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
    

    Conseil

    La valeur de celle-ci $CLUSTER_NAME est automatiquement définie sur le nom de votre espace de code. Remplacez la variable d’environnement si vous souhaitez utiliser un autre nom.

  6. Récupérez l’élément objectId de l’application Microsoft Entra ID utilisée par le service Azure Arc et enregistrez-le en tant que variable d’environnement.

    export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
    
  7. Utilisez la commande az connectedk8s enable-features pour activer la prise en charge personnalisée de l’emplacement sur votre cluster. Cette commande utilise l’élément objectId de l’application Microsoft Entra ID utilisée par le service Azure Arc.

    az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
    

Vérifier le cluster

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

Cette commande d’assistance vérifie la connectivité aux points de terminaison Azure Resource Manager et Microsoft Container Registry.

Déployer Opérations Azure IoT préversion

Dans cette section, vous allez utiliser la commande az iot ops init pour configurer votre cluster afin qu’il puisse communiquer en toute sécurité avec vos composants (Opérations Azure IoT et coffre de clés). Ensuite, vous déploierez Azure IoT Operations.

Exécutez les commandes CLI suivantes dans votre terminal Codespaces.

  1. Créez un coffre de clés. Pour ce scénario, nous allons utiliser le même nom et le même groupe de ressources que votre cluster. Les noms de coffre de clés ont une longueur maximale de 24 caractères. Par conséquent, la commande suivante tronque la CLUSTER_NAMEvariable d’environnement si nécessaire.

    az keyvault create --enable-rbac-authorization false --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP
    

    Conseil

    Vous pouvez utiliser un coffre de clés existant pour vos secrets, mais vérifiez que le modèle d’autorisation est défini sur stratégie d’accès du coffre. Vous pouvez vérifier ce paramètre dans le portail Azure dans la section Configuration d’accès d’un coffre de clés existant. Ou utilisez la commande az keyvault show pour vérifier que enableRbacAuthorization est faux.

  2. Déployer Opérations Azure IoT.

    az iot ops init --simulate-plc --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --kv-id $(az keyvault show --name ${CLUSTER_NAME:0:24} -o tsv --query id)
    

    Si vous obtenez une erreur indiquant que Votre appareil doit être géré pour accéder à votre ressource, exécutez de nouveau az login et assurez-vous que vous vous êtes connecté de manière interactive dans un navigateur.

    Conseil

    Si vous avez déjà exécuté la commande az iot ops init, une inscription d’application a été créée automatiquement dans Microsoft Entra ID. Vous pouvez réutiliser cette inscription plutôt que d’en créer une à chaque fois. Pour utiliser une inscription d’application existante, ajoutez le paramètre facultatif --sp-app-id <APPLICATION_CLIENT_ID>.

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. Continuez à exécuter la commande get pods pour actualiser votre affichage.

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 la section Paramètres du menu.

    Capture d’écran montrant les extensions déployées sur votre cluster avec Arc.

    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. Ces extensions ont un suffixe unique qui identifie votre déploiement. Dans la capture d’écran précédente, ce suffixe est -z2ewy.

    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.

  4. Notez le nom complet de l’extension nommée mq-.... Vous utilisez ce nom dans les guides de démarrage rapide suivants.

Comment avons-nous résolu le problème ?

Dans ce guide de démarrage rapide, vous avez configuré votre cluster Kubernetes avec Arc afin qu’il puisse communiquer en toute sécurité avec vos composants Opérations Azure IoT. Ensuite, vous avez déployé ces composants sur votre cluster. Pour ce scénario de test, vous disposez d’un seul cluster Kubernetes qui s’exécute probablement localement sur votre ordinateur. Dans un scénario de production, toutefois, vous pouvez utiliser les mêmes étapes pour déployer des charges de travail sur de nombreux clusters sur de nombreux sites.

Nettoyer les ressources

Si vous passez au guide de démarrage rapide suivant, conservez toutes vos ressources.

Si vous souhaitez supprimer le déploiement d’Opérations Azure IoT, mais prévoyez de le réinstaller sur votre cluster, veillez à conserver le fournisseur de secrets sur votre cluster.

  1. Dans votre groupe de ressources sur le Portail Azure, sélectionnez votre cluster.

  2. Dans la page de ressources de votre cluster, sélectionnez Extensions.

  3. Sélectionnez les extensions du type microsoft.iotoperations.x et microsoft.deviceregistry.assets, puis sélectionnez Désinstaller. Ne désinstallez pas l’extension du fournisseur de secrets.

    Capture d’écran affichant les extensions à désinstaller.

  4. Revenez à votre groupe de ressources et sélectionnez la ressource d’emplacement personnalisé, puis sélectionnez Supprimer.

Si vous souhaitez supprimer toutes les ressources que vous avez créées pour ce guide de démarrage rapide, supprimez le cluster Kubernetes sur lequel vous avez déployé Opérations Azure IoT et supprimez le groupe de ressources Azure qui contenait le cluster.

Étape suivante