Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce démarrage rapide, vous déployez Opérations Azure IoT sur un cluster Kubernetes avec Azure Arc pour pouvoir gérer à distance vos appareils et charges de travail. À la fin du démarrage rapide, vous disposez d’un cluster que vous pouvez gérer à partir du cloud. Les guides de démarrage rapide suivants de cette série de bout en bout s’appuient sur celui-ci pour définir des exemples de ressources, des pipelines de traitement de données et des visualisations.
Avant de commencer
Cette série de guides de démarrage rapide est destinée à vous aider à prendre en main Opérations Azure IoT le plus rapidement possible pour pouvoir évaluer un scénario de bout en bout. Dans un environnement de développement ou de production réel, plusieurs équipes travaillant ensemble effectuent ces tâches dont certaines peuvent nécessiter des autorisations élevées.
Pour une nouvelle expérience utilisateur optimale, nous vous recommandons d’utiliser un compte gratuit Azure pour que vous disposiez d’autorisations de propriétaire sur les ressources de ces guides de démarrage rapide.
Nous utilisons également GitHub Codespaces comme environnement virtuel de ce démarrage rapide pour que vous puissiez tester le scénario sans installer de nouveaux outils sur vos machines. Toutefois, si vous souhaitez déployer Opérations Azure IoT sur un cluster local sur Ubuntu ou Azure Kubernetes Service (AKS), consultez Préparer votre cluster Kubernetes avec Azure Arc.
Important
Actuellement, K3s sur Ubuntu 24.04 et Tanzu Kubernetes sont les seules plateformes pour le déploiement d’Opérations Azure IoT en production. Pour en savoir plus, consultez Environnements pris en charge.
Prérequis
Avant de commencer, préparez les prérequis suivants :
Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez-en un gratuitement avant de commencer.
Un compte GitHub.
Visual Studio Code installé sur votre machine de développement. Pour plus d’informations, consultez Télécharger Visual Studio Code.
Autorisations Microsoft.Authorization/roleAssignments/write au niveau du groupe de ressources.
Quel problème allons-nous résoudre ?
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 :
- Créer un cluster Kubernetes dans GitHub Codespaces.
- Connecter le cluster à Azure Arc pour une gestion à distance.
- Créer un registre de schémas.
- Déployer Opérations Azure IoT sur votre cluster.
Créer un cluster
Vous pouvez déployer Opérations Azure IoT vers K3s sur Ubuntu, Azure Kubernetes Service (AKS) Edge Essentials et AKS sur Azure Local. Toutefois, pour des raisons de rapidité et de commodité, ce guide de démarrage rapide utilise GitHub Codespaces pour héberger votre cluster. Pour découvrir comment déployer Opérations Azure IoT sur un cluster sous Windows ou Ubuntu à la place, consultez Préparer votre cluster Kubernetes avec Azure Arc.
Note
Les codespaces 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.
L’environnement Codespaces est suffisant pour effectuer les étapes du démarrage rapide, mais il ne prend pas en charge les configurations avancées.
Dans cette section, vous créez un cluster. Si vous souhaitez réutiliser un cluster sur lequel vous avez déployé auparavant Opérations Azure IoT, reportez-vous aux étapes décrites dans Nettoyer les ressources pour désinstaller Opérations Azure IoT avant de continuer.
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
Pour créer votre codespace et votre cluster, procédez comme suit :
Créez le codespace dans GitHub Codespaces.
Fournissez les secrets recommandés suivants pour votre codespace :
Paramètre Valeur SUBSCRIPTION_ID ID de votre abonnement Azure. GROUPE_DE_RESSOURCES Nom d'un nouveau groupe de ressources Azure dans lequel votre cluster sera créé. EMPLACEMENT Une région Azure proche de vous. Pour obtenir la liste des régions actuellement prises en charge, consultez Régions prises en charge. Conseil
Les valeurs que vous fournissez comme secrets dans cette étape sont enregistrées sur votre compte GitHub pour être utilisées dans ce codespace et les suivants. Elles sont ajoutées 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, ce codespace crée une variable d’environnement
CLUSTER_NAME
définie avec le nom du codespace.Sélectionnez Créer un codespace.
Une fois le codespace prêt, sélectionnez le bouton de menu en haut à gauche, puis sélectionnez Ouvrir dans le bureau VS Code.
Si vous y êtes invité, installez l’extension GitHub Codespaces pour Visual Studio Code et connectez-vous à GitHub.
Dans Visual Studio Code, sélectionnez Afficher>Terminal.
Utilisez ce terminal pour exécuter toutes les commandes CLI pour gérer votre cluster.
Connecter un cluster à Azure Arc
Pour connecter votre cluster à Azure Arc :
Dans votre terminal codespace, connectez-vous à Azure CLI :
az login
Conseil
Si vous utilisez l’environnement codespace GitHub dans un navigateur plutôt que sur le bureau VS Code, l’exécution de
az login
retourne une erreur localhost. Pour corriger l’erreur :- Ouvrez le codespace dans le bureau VS Code, puis revenez au terminal du navigateur et réexécutez
az login
. - Ou , 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 ! »
- Ouvrez le codespace dans le bureau VS Code, puis revenez au terminal du navigateur et réexécutez
Une fois connecté, Azure CLI affiche tous vos abonnements et indique votre abonnement par défaut avec un astérisque
*
. Pour continuer avec votre abonnement par défaut, sélectionnezEnter
. Sinon, tapez le numéro de l’abonnement Azure que vous voulez utiliser.Inscrivez les fournisseurs de ressources requis dans votre abonnement :
Note
Cette étape doit être exécutée une seule fois par abonnement. Pour inscrire des fournisseurs de ressources, vous devez disposer de l’autorisation d’effectuer l’opération
/register/action
qui est incluse dans les rôles Contributeur et Propriétaire de l’abonnement. Pour plus d’informations, consultez Fournisseurs et types de ressources Azure.az provider register -n "Microsoft.ExtendedLocation" az provider register -n "Microsoft.Kubernetes" az provider register -n "Microsoft.KubernetesConfiguration" az provider register -n "Microsoft.IoTOperations" az provider register -n "Microsoft.DeviceRegistry" az provider register -n "Microsoft.SecretSyncController"
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
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 --name $CLUSTER_NAME --location $LOCATION --resource-group $RESOURCE_GROUP
Conseil
La valeur de
$CLUSTER_NAME
est automatiquement définie sur le nom de votre codespace. Remplacez la variable d’environnement si vous souhaitez utiliser un autre nom.Récupérez l’élément
objectId
de l’application Microsoft Entra ID utilisée par le service Azure Arc dans votre locataire et enregistrez-le comme variable d’environnement. Exécutez la commande suivante exactement comme elle est écrite, sans changer la valeur GUID.export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
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. Exécutez la commande suivante sur l’ordinateur sur lequel vous avez déployé le cluster Kubernetes :az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
Créer un compte de stockage et un registre de schémas
Un registre de schémas est un référentiel synchronisé qui stocke les définitions des messages dans le cloud et en périphérie. Opérations Azure IoT nécessite un registre de schémas sur votre cluster. Le registre de schémas nécessite un compte de stockage Azure pour les informations de schémas stockées dans le cloud.
La commande pour créer un registre de schémas dans cette section nécessite l’autorisation Microsoft.Authorization/roleAssignments/write au niveau du groupe de ressources. Cette autorisation est utilisée pour donner au registre de schémas un rôle de contributeur pour qu’il puisse écrire sur le compte de stockage.
Exécutez les commandes CLI suivantes dans votre terminal Codespaces.
Définissez des variables d’environnement pour les ressources que vous créez dans cette section.
Espace réservé Valeur <STORAGE_ACCOUNT_NAME> Nom de votre compte de stockage. Les noms des comptes de stockage doivent comporter entre 3 et 24 caractères, et contenir uniquement des chiffres et des lettres en minuscule. <SCHEMA_REGISTRY_NAME> Nom de votre registre de schémas. Les noms des registres de schémas peuvent uniquement contenir des chiffres, des lettres en minuscule et des traits d’union. <SCHEMA_REGISTRY_NAMESPACE> Un nom pour l’espace de noms de votre registre de schémas. L’espace de noms identifie exclusivement un registre de schémas au sein d’un locataire. Les noms des espaces de noms du registre des schémas peuvent uniquement contenir des chiffres, des lettres en minuscule et des traits d’union. STORAGE_ACCOUNT=<STORAGE_ACCOUNT_NAME> SCHEMA_REGISTRY=<SCHEMA_REGISTRY_NAME> SCHEMA_REGISTRY_NAMESPACE=<SCHEMA_REGISTRY_NAMESPACE>
Créez un compte de stockage avec un espace de noms hiérarchique activé.
az storage account create --name $STORAGE_ACCOUNT --location $LOCATION --resource-group $RESOURCE_GROUP --enable-hierarchical-namespace
Créez un registre de schémas qui se connecte à votre compte de stockage. Cette commande crée également un conteneur blob appelé schémas dans le compte de stockage.
az iot ops schema registry create --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP --registry-namespace $SCHEMA_REGISTRY_NAMESPACE --sa-resource-id $(az storage account show --name $STORAGE_ACCOUNT -o tsv --query id)
Déployer Opérations Azure IoT
Dans cette section, vous configurez votre cluster avec les dépendances de vos composants Opérations Azure IoT, puis vous déployez Opérations Azure IoT.
Exécutez les commandes CLI suivantes dans votre terminal Codespaces.
Initialisez votre cluster pour Opérations Azure IoT.
Conseil
La commande
init
ne doit être exécutée qu’une seule fois par cluster. Si vous réutilisez un cluster où la dernière version d’Opérations Azure IoT a déjà été déployée, vous pouvez ignorer cette étape.az iot ops init --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
L’exécution de cette commande peut prendre plusieurs minutes. Vous pouvez observer la progression grâce à l’affichage de la progression du déploiement dans le terminal.
Déployer Opérations Azure IoT.
az iot ops create --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name ${CLUSTER_NAME}-instance --sr-resource-id $(az iot ops schema registry show --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP -o tsv --query id) --broker-frontend-replicas 1 --broker-frontend-workers 1 --broker-backend-part 1 --broker-backend-workers 1 --broker-backend-rf 2 --broker-mem-profile Low
L’exécution de cette commande peut prendre plusieurs minutes. Vous pouvez effectuer le suivi de la progression grâce à l’affichage de la progression du déploiement dans le terminal.
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.
Afficher des ressources dans un cluster
Une fois le déploiement terminé, vous pouvez utiliser des commandes kubectl pour observer les modifications sur le cluster ou, comme 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
Pour voir vos ressources dans le portail Azure, procédez comme suit :
Dans le Portail Azure, accédez au groupe de ressources qui contient votre instance Opérations Azure IoT, ou recherchez et sélectionnez Opérations Azure IoT.
Sélectionnez le nom de votre instance Opérations Azure IoT.
Dans la page Vue d’ensemble de votre instance, sélectionnez l’onglet Résumé de ressource pour afficher l’état d’approvisionnement des ressources déployées sur votre cluster.
Comment avons-nous résolu le problème ?
Dans ce guide de démarrage rapide, vous avez configuré votre cluster Kubernetes avec Arc pour 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 dans Codespaces. 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 voulez supprimer le déploiement d’Opérations Azure IoT mais conserver votre cluster, utilisez la commande az iot ops delete :
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Si vous voulez supprimer toutes les ressources que vous avez créées pour ce démarrage rapide, supprimez le cluster Kubernetes où vous avez déployé Opérations Azure IoT, puis supprimez le groupe de ressources Azure qui contenait le cluster.
Si vous avez utilisé Codespaces pour ces démarrages rapides, supprimez votre codespace de GitHub.