Résoudre les problèmes d’un runtime d’intégration auto-hébergé pris en charge par Kubernetes
Cet article décrit les détails de la résolution des problèmes liés au nouveau runtime d’intégration auto-hébergé basé sur Kubernetes pour Linux.
Vous pouvez rechercher les erreurs que vous voyez dans le guide d’erreur ci-dessous. Pour obtenir du support et des conseils de résolution des problèmes liés à SHIR, vous devrez peut-être générer un ID de chargement de journal et contacter le support Microsoft.
Collecter les journaux du runtime d’intégration auto-hébergé Kubernetes
Pour générer l’ID de chargement du journal pour Support Microsoft :
- Une fois qu’une analyse a indiqué status Échec, accédez à la machine virtuelle ou à l’ordinateur sur lequel votre outil IRCTL est installé.
- Utilisez la
./irctl log upload
commande . - Lorsque les journaux sont chargés, conservez un enregistrement de l’ID de chargement du journal qui est imprimé.
- Si le runtime d’intégration auto-hébergé ne parvient pas à s’inscrire, utilisez le guide ci-dessous pour télécharger les journaux en local et les envoyer au support microsoft
Pour collecter le journal du runtime d’intégration auto-hébergé et analyser le journal d’exécution afin de résoudre les problèmes liés à votre SHIR, utilisez la ./irctl log download
commande .
Par exemple :
./irctl log download --destination "C:\Users\user\logs\"
Les journaux sont téléchargés dans le chemin d’accès de destination.
Remarque
Le journal sera réservé pendant 14 jours. Veuillez le conserver en le chargeant sur Microsoft ou en le téléchargeant sur votre ordinateur local.
Erreur de connectivité IRCTL à Kubernetes
Vous pouvez obtenir une configuration de contexte Kubernetes de votre administrateur Kubernetes, et l’inscription peut échouer avec l’un des messages d’erreur suivants :
Error: invalid flag context [] .kube/config: no such file or directory
[Warning] Failed to create kube client with context [] with error
Cause
Lors de l’installation d’un runtime d’intégration auto-hébergé, une configuration Kubernetes correcte et une connectivité stable sont nécessaires.
Résolution
- Vérifiez que le fichier de contexte Kubernetes se trouve dans le chemin d’accès correct.
- Assurez-vous que la machine IRCTL peut atteindre le serveur d’API de cluster Kubernetes.
Erreur d’autorisation IRCTL
Lors de la connexion, vous pouvez voir les messages d’erreur suivants :
[Error] Failed to list namespaces to get Running SHIR
[Error] Failed to get configmap/ create job/ etc.
Cause
Lors de l’installation d’un runtime d’intégration auto-hébergé, des autorisations suffisantes sur plusieurs ressources Kubernetes sont requises.
Résolution
Régénérez le jeton de compte de service Kubernetes avec un rôle Administration.
Erreur de connectivité IRCTL au point de terminaison de service Microsoft Purview
Lorsque vous tentez d’inscrire le runtime d’intégration auto-hébergé pris en charge par Kubernetes, la commande IRCTL create peut retourner les erreurs suivantes :
[Error] Failed to register SHIR with error: Post “https://[REGION].compute.governance.azure.com/purviewAccounts/[]/integrationruntimes/[]/registerselfhostedintegrationruntime: []”
Cause
IRCTL ne peut pas se connecter au serveur principal de service. Ce problème est généralement dû aux paramètres réseau ou au pare-feu.
Résolution
Passez en revue la topologie réseau de l’ordinateur hôte IRCTL. Reportez-vous aux sections suivantes de la page de résolution des problèmes du runtime d’intégration général : Pare-feu, DNSServer, approbations de certificats SSL et proxy HTTP.
La clé d’inscription n’est pas autorisée
Lorsque vous tentez d’inscrire le runtime d’intégration auto-hébergé pris en charge par Kubernetes, la commande IRCTL create peut retourner les erreurs suivantes :
[Error] failed to register SHIR with error: Request is not authorized.
Cause
Ils ont expiré ou ont été révoqués manuellement.
Résolution
Régénérez la clé à partir de la page du runtime d’intégration dans le portail Microsoft Purview et inscrivez-vous à nouveau.
Erreur de création du runtime d’intégration auto-hébergé Kubernetes ayant expiré
Lorsque vous tentez d’inscrire le runtime d’intégration auto-hébergé pris en charge par Kubernetes, la commande IRCTL create peut s’exécuter longtemps jusqu’à ce qu’elle expire.
Vous pouvez commencer par vérifier la status des pods sous les espaces de noms mentionnés par la irctl describe
commande .
Par exemple :
./irctl describe
K8s SHIR Name:shir-demo
Purview AccountName: shirdemopurview
Installation ID: 00000000-0000-0000-0000-000000000000
Kubernetes Namespace: shirdemopurview-shir-demo, compute-fleet-system(control-plane)
K8s SHIR Version: Unknown (Installation not completed)
Status: Initializing
Healthiness: Unhealthy
kubectl get pods --namespace shirdemopurview-shir-demo
NAME READY STATUS RESTARTS AGE
batch-defaultspec-4pbwx 0/1 Pending 0 10m
batch-defaultspec-7t9bl 0/1 Pending 0 10m
dynamic-config-provider-778c686fdc-9mkjb 0/1 Pending 0 10m
interactive-schemaprocess-bcrmf 0/1 Pending 0 10m
interactive-schemaprocess-fn66x 0/1 Pending 0 10m
logagent-ds-84jqn 0/1 Pending 0 10m
logagent-ds-k7vw8 0/1 Pending 0 10m
user-credential-proxy-579c899b64-d4q5v 0/1 Pending 0 10m
Il existe deux causes potentielles, répertoriées ci-dessous :
- Connectivité avec le point de terminaison de service Microsoft Purview
- Erreur de configuration de nœud Kubernetes
Cause - Connectivité avec le point de terminaison de service Microsoft Purview
Kubernetes ne peut pas se connecter à MCR (mcr.microsoft.com). Cette erreur est généralement due aux paramètres réseau ou à un pare-feu.
Si le status « ImagePullBackOff », cela signifie que votre Kubernetes ne peut pas se connecter à MCR (mcr.microsoft.com) pour télécharger des images Pod. Cette erreur est généralement due aux paramètres réseau ou à un pare-feu.
Résolution - Connectivité avec le point de terminaison de service Microsoft Purview
Passez en revue la topologie réseau de votre cluster Kubernetes. Par exemple, pour Azure Kubernetes, vous devez case activée :
Remarque
Les étapes de dépannage requises seront différentes pour chaque fournisseur Kubernetes. L’emplacement de déploiement et les détails du réseau varient d’un réseau à l’autre. Vous devez examiner la connectivité via le réseau de votre organization.
Passez en revue la topologie réseau de l’ordinateur hôte IRCTL. Reportez-vous aux sections suivantes de la page de résolution des problèmes du runtime d’intégration général : Pare-feu, DNSServer, approbations de certificats SSL et proxy HTTP.
Cause - Erreur de configuration de nœud Kubernetes
Si le status de certains pods bloqués dans « En attente », utilisez la commande describe pod pour afficher les détails du pod.
Par exemple :
kubectl describe pod batch-defaultspec-4pbwx --namespace shirdemopurview-shir-demo
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 13m default-scheduler 0/5 nodes are available: 1 Too many pods. preemption: 0/5 nodes are available: 5 No preemption victims found for incoming pod..
Les événements de la commande describe peuvent indiquer la raison pour laquelle le pod est en attente. L’erreur FailedScheduling avec un message détaillé indique que le nombre total de pods est dépassé par le nombre maximal de pods sur un nœud. Un nouveau pod ne peut pas être planifié sur le nœud sélectionné.
Remarque
Si aucun événement n’est affiché sous la description, essayez de supprimer le pod manuellement à l’aide kubectl delete pod
de la commande et effectuez le suivi de celui qui vient d’être créé.
Résolution - Erreur de configuration de nœud Kubernetes
Réservez 20 pods pour le runtime d’intégration Kubernetes afin de prendre en charge les scénarios d’utilisation et de mise à niveau normaux.
Erreur de connectivité Kubernetes avec le point de terminaison de service Microsoft Purview
Lorsque vous essayez d’inscrire le runtime d’intégration auto-hébergé pris en charge par Kubernetes, la commande IRCTRL create peut s’exécuter longtemps jusqu’à ce qu’elle expire. Ou, après une installation réussie, le runtime d’intégration auto-hébergé status s’affiche comme non sain ou hors connexion dans le portail Microsoft Purview.
Vérifiez les journaux à l’aide de cette commande : kubectl logs [podName] -n compute-fleet-system
Vous pouvez voir l’une des erreurs suivantes :
“TraceMessage”:”HttpRequestFailed”, “Host”: “fleet.[REGION].compute.governance.azure.com”
Exception":"System.Net.Http.HttpRequestException: Connection refused fleet.[REGION].compute.governance.azure.com:443
System.AggregateException: Failed to acquire identity token from https://fleet. [REGION].compute.governance.azure.com:443
Cause
Kubernetes ne peut pas se connecter au back-end de service. Cette erreur est généralement due aux paramètres réseau ou à un pare-feu.
Résolution
Passez en revue la topologie réseau de votre cluster Kubernetes. Par exemple, pour Azure Kubernetes, vous devez case activée :
Remarque
Les étapes de dépannage requises seront différentes pour chaque fournisseur Kubernetes. L’emplacement de déploiement et les détails du réseau varient d’un réseau à l’autre. Vous devez examiner la connectivité via le réseau de votre organization.
Passez en revue la topologie réseau de l’ordinateur hôte IRCTL. Reportez-vous aux sections suivantes de la page de résolution des problèmes du runtime d’intégration général : Pare-feu, DNSServer, approbations de certificats SSL et proxy HTTP.
Annuler l’inscription d’un runtime dont la ressource locale n’est pas disponible
Si votre runtime d’intégration auto-hébergé local est supprimé du cluster Kubernetes par accident, vous ne pouvez pas le supprimer à l’aide de la irctl delete
commande et vous ne pouvez pas l’installer sur un autre cluster Kubernetes.
Cause
Un runtime d’intégration auto-hébergé ne peut être installé que sur un seul cluster Kubernetes. Une fois inscrit, il ne peut pas être installé sur un autre cluster avant d’être désinscrit.
Résolution
Vérifiez la status locale de l’intégration auto-hébergée. Vous devez voir qu’aucun runtime d’intégration auto-hébergé en cours d’exécution n’est trouvé.
$./irctl describe
Vérifiez le runtime d’intégration auto-hébergé dans le portail Microsoft Purview. Une status hors connexion doit s’afficher. (Toutefois, il existe une latence de 1 heure pour l’expiration du jeton.)
Sélectionnez Annuler l’inscription de l’installation en regard du status et confirmez l’opération.
Une fois l’inscription terminée, le status s’affiche comme Non inscrit.
Sélectionnez le runtime d’intégration et obtenez la clé d’inscription.