Remarque
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.
Un cluster Kubernetes avec Azure Arc est un prérequis pour le déploiement d’Opérations Azure IoT. Cet article explique comment préparer un cluster avant de déployer Opérations Azure IoT. Cet article contient des conseils pour Ubuntu, Windows, Azure Local et Tanzu Kubernetes Grid (TKG).
Si vous souhaitez déployer rapidement Des opérations Azure IoT et exécuter un exemple de charge de travail dans un environnement de test, consultez le guide de démarrage rapide : Exécuter des opérations Azure IoT dans GitHub Codespaces avec K3s.
Prérequis
Microsoft prend en charge Azure Kubernetes Service (AKS) Edge Essentials pour les déploiements sur Windows, K3s pour les déploiements sur Ubuntu, les déploiements AKS sur Azure Local et tanzu Kubernetes release (TKr) sur TKG. Si vous souhaitez déployer Opérations Azure IoT sur une solution à plusieurs nœuds, utilisez K3s sur Ubuntu.
Pour préparer un cluster Kubernetes avec Azure Arc, vous avez besoin de :
Un abonnement Azure avec le rôle Propriétaire ou une combinaison des rôles Contributeur et Administrateur de l’accès utilisateur. Vous pouvez vérifier votre niveau d’accès en accédant à votre abonnement, en sélectionnant Contrôle d’accès (IAM) sur le côté gauche du portail Microsoft Azure, puis en sélectionnant Afficher mon accès. Si vous n’avez pas d’abonnement Azure, créez-en un gratuitement avant de commencer.
Un groupe de ressources Azure. Une seule instance d’Opérations Azure IoT est prise en charge par groupe de ressources. Pour créer un groupe de ressources, utilisez la commande az group create. Pour obtenir la liste des régions Azure actuellement prises en charge, consultez Régions prises en charge.
az group create --location <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID>Azure CLI version 2.62.0 ou ultérieure installée sur votre ordinateur de cluster. Utilisez
az --versionpour vérifier votre version etaz upgradepour 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.Dernière version de l’extension connectedk8s pour Azure CLI.
az extension add --upgrade --name connectedk8s
Matériel qui répond à la configuration requise :
Si vous allez déployer Opérations Azure IoT sur un cluster à plusieurs nœuds avec tolérance de panne activée, passez en revue les exigences matérielles et de stockage dans Préparer Linux pour les Edge Volumes.
Créer un cluster et l’activer pour Arc
Cette section fournit des étapes pour créer des clusters dans des environnements validés sur Linux et Windows.
Pour préparer un cluster Kubernetes K3s sur Ubuntu :
Créez un cluster K3s à nœud unique ou à plusieurs nœuds. Pour obtenir des exemples, consultez le guide de démarrage rapide K3s ou les projets liés à K3s.
Vérifiez que kubectl a été installé dans le cadre de K3s. Si ce n’est pas le cas, suivez les instructions pour Installer kubectl sur Linux.
kubectl version --clientSuivez les instructions pour Installer Helm.
Créez un fichier yaml de configuration K3s dans
.kube/config:mkdir ~/.kube sudo KUBECONFIG=~/.kube/config:/etc/rancher/k3s/k3s.yaml kubectl config view --flatten > ~/.kube/merged mv ~/.kube/merged ~/.kube/config chmod 0600 ~/.kube/config export KUBECONFIG=~/.kube/config #switch to k3s context kubectl config use-context default sudo chmod 644 /etc/rancher/k3s/k3s.yamlExécutez la commande suivante pour augmenter les limites de surveillance/d’instance de l’utilisateur.
echo fs.inotify.max_user_instances=8192 | sudo tee -a /etc/sysctl.conf echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -pPour de meilleures performances, augmentez la limite du descripteur de fichier :
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Activer votre cluster avec Arc
Connectez votre cluster à Azure Arc afin qu’il puisse être géré à distance.
À partir d’une machine qui a
kubectlaccès à votre cluster, connectez-vous à Azure CLI avec votre compte d’utilisateur Microsoft Entra disposant du ou des rôles requis pour l’abonnement Azure :az loginSi vous obtenez une erreur indiquant que Votre appareil doit être géré pour accéder à votre ressource, exécutez de nouveau
az loginet veillez à vous connecter de manière interactive avec un navigateur.Une fois que vous êtes 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.
Remarque
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/actionqui 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 connectedk8s connect pour activer Arc sur votre cluster Kubernetes et le gérer dans le cadre de votre groupe de ressources Azure.
az connectedk8s connect --name <CLUSTER_NAME> -l <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID> --enable-oidc-issuer --enable-workload-identity --disable-auto-upgradePour empêcher les mises à jour non planifiées d’Azure Arc et des extensions système Arc utilisées comme dépendances par Opérations Azure IoT, cette commande désactive la mise à niveau automatique. À la place, mettez à niveau les agents manuellement si nécessaire.
Important
Si votre environnement utilise un serveur proxy ou une passerelle Azure Arc, modifiez la commande
az connectedk8s connectavec vos informations de proxy :- Suivez les instructions de Connexion à l’aide d’un serveur proxy sortant ou Intégration des clusters Kubernetes à Azure Arc avec une passerelle Azure Arc.
- Ajoutez
169.254.169.254au paramètre--proxy-skip-rangede la commandeaz connectedk8s connect. Le Registre de Dispositifs Azure utilise ce point de terminaison local pour obtenir des jetons d’accès pour l’autorisation.
Les Opérations Azure IoT ne prennent pas en charge les serveurs proxy qui nécessitent un certificat approuvé.
Obtenez l’URL de l’émetteur du cluster.
az connectedk8s show --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsvEnregistrez la sortie de cette commande à utiliser dans les étapes suivantes.
Créez un fichier de configuration k3s.
sudo nano /etc/rancher/k3s/config.yamlAjoutez le contenu suivant au fichier
config.yaml, en remplaçant l’espace réservé<SERVICE_ACCOUNT_ISSUER>par l’URL de l’émetteur de votre cluster.kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24hEnregistrez le fichier et quittez l’éditeur nano.
Préparez-vous à activer le service Azure Arc, l’emplacement personnalisé, sur votre cluster Arc en obtenant l’ID d’objet d’emplacement personnalisé et en l’enregistrant en tant que variable d’environnement, OBJECT_ID. Pour exécuter la commande, vous devez être connecté à l’interface Azure CLI avec un compte d’utilisateur Microsoft Entra, et non pas avec un principal de service. Exécutez la commande suivante exactement comme écrite, sans modifier la valeur du GUID.
export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)Remarque
Si vous recevez l'erreur : « Impossible de récupérer l'oid de l'application « custom-locations ». Continuez sans activer la fonctionnalité. « Privilèges insuffisants pour terminer l’opération » alors votre principal de service pourrait ne pas disposer des autorisations nécessaires pour récupérer l’ID d’objet de l’emplacement personnalisé. Connectez-vous à Azure CLI avec un compte d’utilisateur Microsoft Entra qui répond aux conditions préalables. Pour plus d’informations, consultez Créer et gérer des emplacements personnalisés.
Utilisez la commande az connectedk8s enable-features pour activer la fonctionnalité d’emplacement personnalisé sur votre cluster Arc. Cette commande utilise la variable d’environnement OBJECT_ID enregistrée à l’étape précédente pour définir la valeur du paramètre custom-locations-oid. Sur l’ordinateur sur lequel vous avez déployé le cluster Kubernetes, exécutez la commande suivante :
az connectedk8s enable-features -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locationsRedémarrez K3s.
systemctl restart k3s
Configurer des clusters à plusieurs nœuds pour Azure Container Storage activé avec Azure Arc
Les fonctionnalités telles que les points de terminaison de stockage local de flux de données et le connecteur multimédia utilisent éventuellement Azure Container Storage activé par Azure Arc (ACSA) pour synchroniser les données locales dans le cloud. ACSA n’est pas installé dans le cadre d’Azure IoT Operations. Vous devez donc l’installer séparément.
Sur les clusters Ubuntu à plusieurs nœuds avec au moins trois nœuds, vous avez la possibilité d’activer la tolérance de panne pour le stockage ACSA. Pour activer la tolérance de panne pendant le déploiement, suivez les étapes décrites dans Préparer Linux pour les volumes Edge à l’aide d’un cluster Ubuntu à plusieurs nœuds pour configurer votre cluster.
Si vous exécutez votre cluster sur une distribution Kubernetes autre que k3s, passez en revue les instructions pour préparer Linux avec d’autres plateformes.
Configuration avancée
À ce stade, quand vous disposez d’un cluster Kubernetes avec Azure Arc mais avant de déployer Opérations Azure IoT, vous pouvez configurer votre cluster pour des scénarios avancés.
- Si vous souhaitez activer les fonctionnalités d’observabilité sur le cluster, suivez les étapes décrites dans Déployer les ressources d’observabilité et configurez les journaux d’activité.
- Si vous souhaitez configurer votre propre émetteur de certificat sur le cluster, suivez les étapes décrites dans gestion des certificats > Apportez votre propre émetteur.
Étapes suivantes
Maintenant que vous disposez d’un cluster Kubernetes avec Azure Arc, vous pouvez choisir de déployer Azure IoT Operation avec des paramètres de test ou avec des paramètres de production.
- Déploiement de test : recommandé pour l’évaluation rapide et le prototypage avant le déploiement en production. Le déploiement de test n’est pas adapté à la production, il manque d’observabilité et de sécurité renforcée.
- Déploiement de production : recommandé pour les charges de travail prêtes pour la production. Le déploiement de production convient aux déploiements IoT réels avec des besoins de conformité et de sécurité.