Résoudre les problèmes avec IoT Edge survenant sur votre appareil Azure Stack Edge Pro avec GPU
S’APPLIQUE À : Azure Stack Edge Pro : GPUAzure Stack Edge Pro 2Azure Stack Edge Pro RAzure Stack Edge Mini R
Cet article explique comment résoudre les erreurs liées au calcul sur un appareil Azure Stack Edge Pro avec GPU en examinant les réponses du runtime pour l’agent IoT Edge et les erreurs pour le service IoT Edge installé sur votre appareil.
Examiner les réponses du runtime IoT Edge
Utilisez les réponses du runtime de l’agent IoT Edge pour résoudre les erreurs liées au calcul. Voici une liste de réponses possibles :
- 200 - OK
- 400 - La configuration de déploiement a un format incorrect ou n’est pas valide.
- 417 - Aucune configuration de déploiement n’est définie pour l’appareil.
- 412 - La version de schéma dans la configuration de déploiement n’est pas valide.
- 406 - L’appareil IoT Edge est hors connexion ou n’envoie pas de rapports d’état.
- 500 - Une erreur s’est produite dans le runtime IoT Edge.
Pour plus d’informations, consultez l’article Agent IoT Edge.
Résoudre les erreurs de service d’IoT Edge
L’erreur suivante est liée au service IoT Edge sur votre appareil Azure Stack Edge Pro GPU.
Les modules de calcul ont un état Inconnu et ne peuvent pas être utilisés
Description de l'erreur
Tous les modules sur l’appareil affichent un état Inconnu et ne peuvent pas être utilisés. L’état Inconnu persiste après le redémarrage.
Solution suggérée
Supprimez le service IoT Edge, puis redéployez le(s) module(s). Pour plus d’informations, consultez Supprimer le service IoT Edge.
Les modules s’affichent comme étant En cours d’exécution mais ne fonctionnent pas
Description de l'erreur
L’état d’exécution du module indique en cours d’exécution, mais vous ne voyez pas les résultats attendus.
Cette condition peut être due à une configuration des itinéraires du module qui ne fonctionne pas, ou edgehub
n’achemine pas les messages comme prévu. Vous pouvez vérifier les journaux edgehub
. Si des erreurs telles que l’échec de la connexion au service IoT Hub sont signalées, elles sont le plus souvent dues à des problèmes de connectivité. Les problèmes de connectivité peuvent être liés au fait que le port AMPQ que le service IoT Hub utilise comme port par défaut pour la communication est bloqué ou que le serveur proxy web bloque ces messages.
Solution suggérée
Effectuez les étapes suivantes :
- Pour résoudre l’erreur, accédez à la ressource IoT Hub de votre appareil, puis sélectionnez votre appareil Edge.
- Accédez à Définir les modules > Paramètres d’exécution.
- Ajoutez la variable d’environnement
Upstream protocol
et attribuez-lui la valeurAMQPWS
. Les messages configurés dans ce cas sont envoyés via WebSocket via le port 443.
Les modules s’affichent comme étant En cours d’exécution mais n’ont pas d’adresse IP affectée
Description de l'erreur
L’état d’exécution du module indique en cours d’exécution, mais aucune adresse IP n’est affectée à l’application en conteneur.
Cette condition est due au fait que la plage d’adresses IP que vous avez fournie pour les adresses IP du service externe Kubernetes n’est pas suffisante. Étendez cette plage pour vous assurer que chaque conteneur ou machine virtuelle que vous avez déployé est couvert.
Solution suggérée
Procédez comme suit dans l’interface utilisateur web locale de votre appareil :
- Accédez à la page Calcul. Sélectionnez le port pour lequel vous avez activé le réseau de calcul.
- Entrez une plage d’adresses IP statiques et contiguës pour les adresses IP de service externe Kubernetes. Une adresse IP est requise pour le service
edgehub
. Une adresse IP est également requise pour chaque module IoT Edge et pour chaque machine virtuelle que vous déployez. - Sélectionnez Appliquer. La plage d’adresses IP modifiée doit prendre effet immédiatement.
Pour plus d’informations, consultez Modifier les adresses IP de service externe pour les conteneurs.
Configurer des adresses IP statiques pour les modules IoT Edge
Description du problème
Kubernetes attribue des adresses IP dynamiques à chaque module IoT Edge sur votre appareil GPU Azure Stack Edge Pro. Une méthode est nécessaire pour configurer des adresses IP statiques pour les modules.
Solution suggérée
Vous pouvez spécifier des adresses IP fixes pour vos modules IoT Edge à l’aide de la section K8s-experimental, comme décrit ci-dessous :
{
"k8s-experimental": {
"serviceOptions" : {
"loadBalancerIP" : "100.23.201.78",
"type" : "LoadBalancer"
}
}
}
Exposer le service Kubernetes comme service IP de cluster pour la communication interne
Description du problème
Par défaut, le service IoT est de type équilibreur de charge et se voit attribuer des adresses IP tournées vers l’extérieur. Si une application a besoin de pods Kubernetes dans le cluster Kubernetes pour accéder à d’autres pods du cluster, vous devrez peut-être configurer le service en tant que service d’IP de cluster au lieu d’un service d’équilibreur de charge. Pour plus d’informations, consultez Mise en réseau Kubernetes sur votre appareil GPU Azure Stack Edge Pro.
Solution suggérée
Vous pouvez utiliser les options de création via la section K8s-experimental. L’option de service suivante doit fonctionner avec des liaisons de port.
{
"k8s-experimental": {
"serviceOptions" : {
"type" : "ClusterIP"
}
}
}
Impossible de créer ou de mettre à jour un rôle IoT
Description du problème
Lorsque vous configurez l’appareil IoT pendant l’installation, vous pouvez voir l’erreur suivante :
(Code d’état Http : 400) Impossible de créer ou de mettre à jour le rôle IoT sur <YourDeviceName>. Une erreur s'est produite avec le code d'erreur {NO_PARAM}. Pour plus d’informations, consultez les détails du code d’erreur (https://aka.ms/dbe-error-codes). Si l’erreur persiste, contactez le support Microsoft.
Solution suggérée
Si le pare-feu de votre centre de données restreint ou filtre le trafic en fonction des adresses IP ou MAC sources, assurez-vous que les adresses IP de calcul (adresses IP des nœuds Kubernetes) et les adresses MAC figurent sur la liste des adresses autorisées. Les adresses MAC peuvent être spécifiées en exécutant la cmdlet Set-HcsMacAddressPool
sur l’interface PowerShell de l’appareil.