Déployer Opérations Azure IoT sur un cluster Kubernetes avec Arc
Découvrez comment déployer Opérations Azure IoT sur un cluster Kubernetes en utilisant le Portail Azure.
Dans cet article, nous abordons les déploiements et les instances Opérations Azure IoT, qui sont deux concepts différents :
Un déploiement Opérations Azure IoT décrit tous les composants et ressources qui activent le scénario Opérations Azure IoT. Ces composants et ressources sont les suivants :
- Une instance Opérations Azure IoT
- Des extensions Arc
- Localisations personnalisées
- Les ressources que vous pouvez configurer dans votre solution Opérations Azure IoT, comme les ressources et les points de terminaison de ressources.
Une instance Opérations Azure IoT est la ressource parente qui regroupe la suite de services définis dans Présentation d’Opérations Azure IoT, comme l’Agent MQTT, les flux de données et le Connecteur OPC UA.
Lorsque nous parlons du déploiement d’Opérations Azure IoT, nous faisons référence à l’ensemble complet de composants qui forment un déploiement. Une fois que le déploiement existe, vous pouvez afficher, gérer et mettre à jour l’instance.
Prérequis
Ressources cloud :
Un abonnement Azure.
Autorisations d’accès Azure. Pour plus d’informations, consultez Détails du déploiement > Autorisations requises.
Ressources de développement :
Azure CLI installé sur votre ordinateur de développement. Ce scénario nécessite Azure CLI version 2.64.0 ou ultérieure. Utilisez
az --version
pour vérifier votre version etaz upgrade
pour effectuer une mise à jour si nécessaire. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Installation de l’interface de ligne de commande Azure.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 :
Disposez d’un cluster Kubernetes avec Azure Arc sur lequel les fonctionnalités d’emplacement personnalisé et d’identité de charge de travail sont activées. Si vous n’en avez pas, suivez les étapes décrites dans Préparer votre cluster Kubernetes activé avec Azure Arc.
Si vous avez précédemment déployé Opérations Azure IoT sur votre cluster, désinstallez ces ressources avant de continuer. Pour obtenir plus d’informations, consultez Mettre à jour Opérations Azure IoT.
(Facultatif) Avant de déployer Opérations Azure IoT, préparez votre cluster pour l’observabilité : configurez l’observabilité.
(Facultatif) Configurez votre propre émetteur d’autorité de certification avant de déployer Opérations Azure IoT : Apporter votre propre émetteur.
Déployer
L’expérience de déploiement du portail Azure est un outil d’assistance qui génère une commande de déploiement basée sur vos ressources et votre configuration. La dernière étape consiste à exécuter une commande Azure CLI. Vous avez donc toujours besoin des prérequis Azure CLI décrits dans la section précédente.
Dans le portail Azure, recherchez et sélectionnez Opérations Azure IoT.
Sélectionnez Créer.
Sous l’onglet De base, fournissez les informations suivantes :
Paramètre Valeur Abonnement Sélectionnez l’abonnement qui contient votre cluster avec Arc. Groupe de ressources Sélectionnez le groupe de ressources qui contient votre cluster avec Arc. Nom du cluster Sélectionnez le cluster sur lequel vous souhaitez déployer Opérations Azure IoT. Nom de l’emplacement personnalisé Facultatif : remplacez le nom par défaut de l’emplacement personnalisé. Sélectionnez Suivant : Configuration.
Sous l’onglet Configuration , fournissez les informations suivantes :
Paramètre Valeur Nom Opérations Azure IoT Facultatif : remplacez le nom par défaut de l’instance Opérations Azure IoT. Configuration du répartiteur MQTT Facultatif : modifiez les paramètres par défaut de l’Agent MQTT. Dans le Portail Azure, il est possible de configurer les paramètres de cardinalité et de profil de mémoire. Pour configurer d’autres paramètres, y compris la mémoire tampon de message sur disque et les options de client MQTT avancées, consultez Prise en charge d’Azure CLI pour la configuration avancée de l’agent MQTT. Configuration du profil de flux de données Facultatif : modifiez les paramètres par défaut des flux de données. Pour plus d’informations, consultez Configurer le profil de flux de données. Sélectionnez Suivant : Gestion des dépendances.
Sous l’onglet Gestion des dépendances, sélectionnez un registre de schémas existant ou effectuez les étapes suivantes pour en créer un :
Sélectionnez Créer nouveau.
Indiquez un Nom de registre de schémas et un Espace de noms de registre de schémas.
Sélectionnez Sélectionner un conteneur de stockage Azure.
Choisissez un compte de stockage dans la liste des comptes avec espace de noms hiérarchique ou sélectionnez Créer pour en créer un.
Le registre de schémas nécessite un compte de stockage Azure sur lequel l’espace de noms hiérarchique et l’accès au réseau public sont activés. Lors de la création d’un compte de stockage, choisissez un type de compte de stockage Usage général v2 et définissez Espace de noms hiérarchique sur Activé.
Sélectionnez un conteneur dans votre compte de stockage ou sélectionnez Conteneur pour en créer un.
Sélectionnez Appliquer pour confirmer les configurations du registre de schémas.
Sous l’onglet Gestion des dépendances, sélectionnez l’option de déploiement Paramètres de test ou Paramètres sécurisés. Si vous ne savez celle qui convient à votre scénario, passez en revue l’aide dans Détails du déploiement > Choisir vos fonctionnalités.
En fonction de votre choix, suivez les étapes pour effectuer ce qui suit :
Déployer avec des paramètres de test
Utilisez ces étapes si vous choisissez l’option Paramètres de test sous l’onglet Gestion des dépendances.
Sélectionnez Suivant : Automation.
Exécutez une par une les commandes Azure CLI sous l’onglet Automatisation dans un terminal :
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.
az login
Installez la dernière extension CLI Opérations Azure IoT.
az upgrade az extension add --upgrade --name azure-iot-ops
Créez un registre de schéma qui est utilisé par les composants Opérations Azure IoT. Copiez et exécutez la commande az iot ops schema registry create fournie.
Si vous choisissez d’utiliser un registre de schéma existant, cette commande ne s’affiche pas sous l’onglet Automatisation.
Préparez le cluster pour le déploiement Opérations Azure IoT. Copiez et exécutez la commande az iot ops init fournie.
Conseil
La commande
init
ne doit être exécutée qu’une seule fois par cluster. Si vous réutilisez un cluster où la version 0.8.0 d’Opérations Azure IoT était déjà déployée, vous pouvez ignorer cette étape.Si vous avez suivi les prérequis facultatifs pour configurer votre propre émetteur d’autorité de certification, ajoutez l’indicateur
--user-trust
à la commandeinit
.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. Copiez et exécutez la commande az iot ops create fournie.
Si vous avez suivi les prérequis facultatifs pour préparer votre cluster pour l’observabilité, ajoutez les paramètres suivants à la commande
create
:Paramètre active Description --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Fournissez l’adresse de collecteur OpenTelemetry (OTel) que vous avez configurée dans le fichier otel-collector-values.yaml.
Les exemples de valeurs utilisés dans Configurer l’observabilité sont fullnameOverride=aio-otel-collector et grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Fournissez la valeur check-interval que vous avez configurée dans le fichier otel-collector-values.yaml.
L’exemple de valeur utilisé dans Configurer l’observabilité est check_interval=60.Si vous avez suivi les prérequis facultatifs pour configurer votre propre émetteur d’autorité de certification, ajoutez les paramètres
--trust-settings
à la commandecreate
:--trust-settings configMapName=<CONFIGMAP_NAME> configMapKey=<CONFIGMAP_KEY_WITH_PUBLICKEY_VALUE> issuerKind=<CLUSTERISSUER_OR_ISSUER> issuerName=<ISSUER_NAME>
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.
Une fois toutes les commandes Azure CLI exécutées, vous pouvez fermer l’Assistant Installer Opérations Azure IoT.
Une fois la commande create
terminée, vous disposez d’une instance Azure IoT Operations fonctionnelle s’exécutant sur votre cluster. À ce stade, votre instance est configurée pour la plupart des scénarios de test et d’évaluation.
Si vous souhaitez préparer votre instance pour des scénarios de production à un moment dans le futur, suivez les étapes dans Activer les paramètres de sécurité sur une instance Opérations Azure IoT existante.
Déployer avec des paramètres sécurisés
Utilisez ces étapes si vous choisissez l’option Paramètres sécurisés sous l’onglet Gestion des dépendances.
Dans la section Options de déploiement, indiquez les informations suivantes :
Paramètre Valeur Abonnement Sélectionnez l’abonnement qui contient votre coffre de clés Azure. Azure Key Vault Sélectionnez une instance Azure Key Vault ou sélectionnez Créer nouveau.
Vérifiez que votre coffre de clés dispose d’un contrôle d’accès en fonction du rôle Azure comme modèle d’autorisation. Pour vérifier ce paramètre, sélectionnez Gérer le coffre sélectionné>Paramètres>Configuration de l’accès.
Assurez-vous d’accorder à votre compte d’utilisateur les autorisations nécessaires pour gérer les secrets avec le rôleKey Vault Secrets Officer
.Identité managée affectée par l’utilisateur pour les secrets Sélectionnez une identité ou Créer nouveau. Identité managée affectée par l’utilisateur pour les composants AIO Sélectionnez une identité ou Créer nouveau. N’utilisez pas la même identité managée que celle que vous avez sélectionnée pour les secrets. Sélectionnez Suivant : Automation.
Exécutez une par une les commandes Azure CLI sous l’onglet Automatisation dans un terminal :
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
Installez la dernière extension CLI Opérations Azure IoT.
az upgrade az extension add --upgrade --name azure-iot-ops
Créez un registre de schéma qui est utilisé par les composants Opérations Azure IoT. Copiez et exécutez la commande az iot ops schema registry create fournie.
Si vous choisissez d’utiliser un registre de schéma existant, cette commande ne s’affiche pas sous l’onglet Automatisation.
Remarque
Cette commande nécessite que vous disposiez d’autorisations en écriture pour l’attribution de rôle, car elle attribue un rôle pour accorder au registre de schémas l’accès au compte de stockage. Par défaut, le rôle est le rôle intégré Contributeur aux données Blob du stockage. Vous pouvez également créer un rôle personnalisé avec des autorisations restreintes et l’attribuer à la place. Pour découvrir plus d’informations, consultez az iot ops schema registry create.
Préparez le cluster pour le déploiement Opérations Azure IoT. Copiez et exécutez la commande az iot ops init fournie.
Conseil
La commande
init
ne doit être exécutée qu’une seule fois par cluster. Si vous réutilisez un cluster où la version 0.8.0 d’Opérations Azure IoT était déjà déployée, vous pouvez ignorer cette étape.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. Copiez et exécutez la commande az iot ops create fournie.
Si vous avez suivi les conditions préalables facultatives pour préparer votre cluster pour l’observabilité, ajoutez les paramètres facultatifs suivants à la commande
create
:Paramètre facultatif : Valeur Description --ops-config
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>
Fournissez l’adresse de collecteur OpenTelemetry (OTel) que vous avez configurée dans le fichier otel-collector-values.yaml.
Les exemples de valeurs utilisés dans Configurer l’observabilité sont fullnameOverride=aio-otel-collector et grpc.endpoint=4317.--ops-config
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>
Fournissez la valeur check-interval que vous avez configurée dans le fichier otel-collector-values.yaml.
L’exemple de valeur utilisé dans Configurer l’observabilité est check_interval=60.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.
Activez la synchronisation des secrets sur l’instance Opérations Azure IoT déployée. Copiez et exécutez la commande az iot ops secretsync enable fournie.
Cette commande :
- Crée des informations d’identification d’identité fédérée en utilisant l’identité managée affectée par l’utilisateur.
- Ajoute une attribution de rôle à l’identité managée affectée par l’utilisateur pour l’accès au coffre de clés Azure.
- Ajoute une classe de fournisseur de secrets minimale associée à l’instance Opérations Azure IoT.
Attribuez une identité managée affectée par l’utilisateur à l’instance Opérations Azure IoT déployée. Copiez et exécutez la commande az iot ops identity assign fournie.
Cette commande crée des informations d’identification d’identité fédérée en utilisant l’émetteur OIDC du cluster connecté indiqué et le compte de service Opérations Azure IoT.
Une fois toutes les commandes Azure CLI exécutées, vous pouvez fermer l’Assistant Installer Opérations Azure IoT.
Une fois la commande create
terminée, vous disposez d’une instance Azure IoT Operations fonctionnelle s’exécutant sur votre cluster. À ce stade, votre instance est configurée pour les scénarios de production.
Vérifier le déploiement
Une fois le déploiement terminé, utilisez az iot ops check afin d’é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
La commande check
affiche un avertissement sur les flux de données manquants, ce qui est normal tant que vous n’avez pas créé de flux de données. Pour plus d’informations, consultez Traiter et acheminer les données avec des flux de données.
Vous pouvez vérifier les configurations des cartes de rubriques, la Qualité de service (QoS) et les itinéraires de message en ajoutant le paramètre --detail-level 2
à la commande check
pour obtenir une vue détaillée.
É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.