Créer et gérer un runtime d’intégration auto-hébergé pris en charge par Kubernetes
Cet article couvre les détails de la nouvelle fonctionnalité SHIR basée sur Kubernetes pour Linux, qui améliore l’infrastructure sous-jacente pour offrir plusieurs avantages :
- Scalabilité : possibilité de mettre à l’échelle des centaines de machines.
- Performances : amélioration des performances dans les charges de travail d’analyse.
- Sécurité (conteneurisé) : possibilité d’avoir une sécurité conteneurisée sur un cluster Kubernetes, au lieu d’héberger SHIR directement sur un ordinateur Windows
Cet article décrit les détails de l’installation et de la gestion d’un runtime d’intégration auto-hébergé pris en charge par Kubernetes.
Sources de données prises en charge
Pour obtenir la liste de toutes les sources prises en charge, consultez les sources de données prises en charge pour chaque table de runtime d’intégration.
Architecture
Dans une vue architecturale de haut niveau, lorsqu’un SHIR basé sur Kubernetes est installé, plusieurs pods sont automatiquement créés sur les nœuds du cluster Kubernetes des utilisateurs. Cette installation peut être déclenchée par un outil en ligne de commande nommé IRCTL (plus de détails dans les sections suivantes). IRCTL se connecte au service Microsoft Purview pour inscrire le SHIR et se connecter au cluster Kubernetes pour installer le SHIR.
Pendant l’installation, les images SHIR sont téléchargées à partir de MCR (Microsoft Container Registrys) vers les pods SHIR. Une fois l’installation terminée, les pods du cluster des utilisateurs se connectent au service Microsoft Purview pour extraire des tâches d’analyse. À mesure qu’un travail d’analyse est extrait, il peut connecter la source de données locale des utilisateurs pour l’analyse des données.
Configuration requise
Un compte Microsoft Purview utilisant des solutions de gouvernance des données d’entreprise .
Cluster Kubernetes : vous devez disposer d’un cluster Kubernetes linux existant ou en préparer un. Les nœuds peuvent être identifiés par le sélecteur de nœud, qui suit la définition du sélecteur de nœud Kubernetes. Configuration minimale :
- Type de conteneur : Linux
- Version de Kubernetes : 1.24.9 ou ultérieure
- Système d’exploitation de nœud : système d’exploitation Linux s’exécutant sur l’architecture x86
- Spécification du nœud : processeur minimal de huit cœurs, 32 Go de mémoire et au moins 80 Go d’espace disque disponible
- Nombre de nœuds : >=1 (doit être résolu, pas activer le scaler automatique de cluster)
- Nombre de pods par nœud : >= 20 (nombre maximal de pods – nombre d’autres pods n’appartenant pas à Self-Hosted IR)
Remarque
Le dossier /var/irstorage/ de chaque nœud est réservé à SHIR. Il est lisible et accessible en écriture pour SHIR. Vous pouvez obtenir les journaux conservés à partir de ce dossier ou charger des pilotes externes dans ce dossier. Il sera créé par SHIR s’il n’existe pas et ne sera pas supprimé après la suppression de SHIR. Les images conteneur utilisées par SHIR sont gérées par le garbage collection Kubernetes, qui ne sera pas nettoyé par SHIR. Configurez le seuil approprié pour votre cluster Kubernetes.
Réseau de cluster Kubernetes : le cluster Kubernetes dont vous disposez doit être en mesure de se connecter au point de terminaison répertorié dans Configuration réseau requise.
Outil en ligne de commande du runtime d’intégration : pour gérer votre SHIR Kubernetes Microsoft Purview localement, vous avez besoin d’un outil en ligne de commande nommé IRCTL. Vous pouvez télécharger cet outil pendant le processus de création de SHIR. IRCTL est un outil en ligne de commande qui permet de gérer votre SHIR Microsoft Purview. Pour plus d’informations, consultez la documentation IRCTL.
-
Contexte Kubernetes : le contexte Kubernetes, qui contient des informations sur le cluster Kubernetes et les autorisations et informations d’identification de l’utilisateur pour ce cluster, est nécessaire pour communiquer avec votre cluster Kubernetes. Pour faciliter la configuration des autorisations de l’utilisateur pour la gestion SHIR, vous pouvez commencer par Kubernetes Administration rôle. Ce contexte est généré avec la configuration de votre cluster Kubernetes et enregistré dans un fichier de configuration. L’emplacement et la façon dont vous pouvez obtenir ce fichier dépendent de votre configuration du cluster Kubernetes.
- Si vous utilisez
kubeadm init
pour configurer le cluster Kubernetes, vous trouverez le fichier de configuration sous/etc/Kubernetes/admin.conf
. - Si vous utilisez AKS, vous pouvez suivre les instructions d’AKS pour utiliser la commande du module Az PowerShell pour obtenir les informations d’identification de ce cluster sur votre ordinateur local. Le contexte peut être fusionné dans le fichier de configuration sous
$HOME/.kube/config
directement. - Si vous utilisez d’autres outils pour configurer un cluster Kubernetes, reportez-vous à la documentation Kubernetes.
- Comme vous avez le fichier de configuration du contexte Kubernetes, fusionnez-le avec le fichier config, qui est
$HOME/.kube/config
, sur l’ordinateur que vous souhaitez exécuter la commande IRCTL. Vous pouvez également définir le fichier de configuration du contexte Kubernetes dans une variable d’environnement nommée KUBECONFIG. Pour plus d’informations sur le contexte Kubernetes, consultez Configurer l’accès à plusieurs clusters.
- Si vous utilisez
Créer un runtime d’intégration auto-hébergé kubernetes pris en charge
Pour contrôler et gérer un SHIR Kubernetes, les utilisateurs peuvent télécharger un outil en ligne de commande nommé IRCTL. Voici les étapes de votre runtime d’intégration auto-hébergé pris en charge par Kubernetes.
Les étapes vous aideront à télécharger IRCTL, mais pour obtenir des liens directs, consultez la documentation IRCTL.
Configurer un runtime d’intégration auto-hébergé pris en charge par Kubernetes
Ouvrez la fenêtre Runtimes d’intégration dans le Mappage de données Microsoft Purview
- Si vous utilisez le nouveau portail Microsoft Purview :
- Ouvrir le mappage de données
- Sélectionnez Gestion des sources
- Sélectionnez Runtimes d’intégration
- Si vous utilisez le portail de gouvernance Microsoft Purview classique :
- Ouvrir le mappage de données
- Sélectionnez Runtimes d’intégration
- Si vous utilisez le nouveau portail Microsoft Purview :
Sélectionnez le bouton + Nouveau
Sélectionnez Auto-hébergé , puis Continuer
Donnez un nom à votre runtime, puis sélectionnez le bouton bascule Prise en charge du service Kubernetes pour activer
Sélectionnez Créer.
Sélectionnez Obtenir la clé d’inscription.
Copiez la valeur de la clé. Vous en aurez besoin pour exécuter des commandes dans IRCTL ultérieurement.
Conseil
Si nécessaire, vous pouvez régénérer une clé ou révoquer une clé générée.
Sélectionnez le lien Télécharger IRCTL et installer le runtime d’intégration pour télécharger l’outil IRCTL. (Vous pouvez également suivre ces étapes pour télécharger IRCTL directement.)
Sur l’ordinateur sur lequel vous souhaitez exécuter la ligne de commande IRCTL, installez IRCTL à partir du téléchargement. IRCTL se connecte à votre cluster Kubernetes par contexte de la configuration Kube. Si context n’est pas spécifié, IRCTL utilise le contexte actuel. Vous pouvez définir le contexte de l’une des deux manières suivantes :
Exécutez la ligne de commande kubectl et exécutez cette commande pour confirmer le contexte actuel :
kubectl config get-contexts – List all contexts configured on the machine
kubectl config current-context – Get the current context name
kubectl config use-context <name of context>
Exécutez IRCTL et exécutez
--context
pour spécifier le contexte dans la configuration Kube
Exécutez la ligne de commande IRCTL et exécutez cette commande avec la clé d’inscription que vous avez copiée.
./irctl create --registration-key <registration key copied from the portal>
Remarque
Si le sélecteur de nœud n’est pas spécifié, utilise tous les nœuds du cluster Kubernetes. Pour AKS, suggérez d’utiliser l’étiquette du pool de nœuds AKS comme sélecteur de nœud ou vous pouvez personnaliser différentes étiquettes pour les nœuds SHIR.
Vous verrez cette impression :
[Info] Start to create SHIR with Kubernetes context [your-context]...... [Info] Environment validation passed! [Info] Registering SHIR[example-k8s-shir] for Microsoft Purview Account [yourpurviewaccount]...... [Info] SHIR Registration done! [Info] Provisioning SHIR, it may take about 5-30 minutes......done! [Info] SHIR creation succeeded!
Conseil
Si la progression de l’installation est interrompue par Ctrl+C ou d’autres raisons, la commande suivante peut être utilisée pour surveiller la progression de l’installation :
./irctl install status
Une fois l’installation terminée, pour case activée la status actuelle du SHIR, exécutez la commande suivante :
./irctl describe
Vous pouvez également case activée la status de votre SHIR dans le portail Microsoft Purview, dans la page Runtimes d’intégration.
Configurer une analyse avec des pilotes externes
Lors de l’analyse de certaines sources de données, vous devez installer le pilote correspondant sur l’ordinateur sur lequel le SHIR est installé pour que Microsoft Purview se connecte à la source de données. Voici un exemple d’analyse Db2. Reportez-vous à l’article sur les connecteurs respectifs pour connaître les prérequis spécifiques.
Remarque
Les sources de données qui ont besoin de ces pilotes externes auront les informations répertoriées dans leurs conditions préalables.
Dans cet exemple, nous allons installer le pilote Db2. Les étapes pour les autres pilotes seront similaires.
Téléchargez le pilote (chaque source aura son pilote individuel répertorié.) Par exemple, vous trouverez le pilote DB2 ici : Se connecter à Db2 et le gérer.
Chargez le pilote sur chaque nœud de votre runtime d’intégration. Vous pouvez utiliser une commande comme suit :
./irctl storage upload --source jdbc_sqlj/db2_driver --destination driver/db2
Une confirmation de chargement réussie se présente comme suit :
========== Context ========== Kubernetes Context : k8s-shir-test-cluster Purview Account : test-purview-1 Self-hosted Intrgration Runtime: k8s-shir-demo ========== Progress ========== Processing 2/2 nodes... aks-shirpool-27141791-vmss000000: SUCCEEDED aks-shirpool-27141791-vmss000001: SUCCEEDED ========== Results ========== jdbc_sqlj/db2_driver -> /var/irstorage/driver/db2
Remarque
Si vous remplacez des nœuds ou effectuez un scale-out vers de nouveaux nœuds, vous devez charger à nouveau le pilote externe.
Vérifiez les fichiers chargés avec cette commande :
./irctl storage list driver/db2
Une réponse semblable à celle-ci doit s’afficher :
========== Context ========== Kubernetes Context : k8s-shir-test-cluster Purview Account : test-purview-1 Self-hosted Intrgration Runtime: k8s-shir-demo ========== Progress ========== Processing 2/2 nodes... aks-shirpool-27141791-vmss000000: SUCCEEDED aks-shirpool-27141791-vmss000001: SUCCEEDED ========== Results ========== Node: aks-shirpool-27141791-vmss000000 - Succeeded /var/irstorage/driver/db2 total 9364 drwxr-xr-x 2 root root 4096 May 15 14:23 . drwxr-xr-x 3 root root 4096 May 15 14:23 .. -rwxrwxr-x 1 root root 6568346 May 15 14:23 db2jcc4.jar Node: aks-shirpool-27141791-vmss000001 - Succeeded /var/irstorage/driver/db2 total 9364 drwxr-xr-x 2 root root 4096 May 15 14:23 . drwxr-xr-x 3 root root 4096 May 15 14:23 .. -rwxrwxr-x 1 root root 6568346 May 15 14:23 db2jcc4.jar
Créez une analyse avec la valeur de DriverLocation avec la valeur Destination de l’étape 3.
Haute disponibilité et scalabilité
Vous pouvez affecter plusieurs nœuds du cluster Kubernetes à une haute disponibilité à l’aide du sélecteur de nœuds pendant l’installation du runtime d’intégration auto-hébergé pris en charge par Kubernetes. Les avantages d’avoir plusieurs nœuds sont les suivants :
- Plus grande disponibilité du runtime d’intégration auto-hébergé afin qu’il ne soit plus le point de défaillance unique pour les analyses.
- Exécutez d’autres analyses simultanées. Chaque nœud peut permettre de nombreuses exécutions d’analyse en même temps. Vous pouvez effectuer un scale-out manuel des nœuds du cluster Kubernetes si vous avez besoin d’analyses simultanées supplémentaires.
- Lors de l’analyse de certaines sources telles que Blob Azure, Azure Data Lake Storage Gen2 et Azure Files, chaque exécution d’analyse peut utiliser plusieurs nœuds pour améliorer les performances de l’analyse. Pour les autres sources, les analyses sont exécutées sur un seul des nœuds.
La fonctionnalité du runtime d’intégration auto-hébergé pris en charge par Kubernetes peut être mise à jour en effectuant un scale-out/in manuel des nœuds du cluster Kubernetes.
Remarque
Vous devez charger tous les pilotes nécessaires pour l’analyse sur chaque nouveau nœud.
Configuration de réseau requise
Nom du domaine | Ports sortants | Description |
---|---|---|
Cloud public : <tenantID>-api.purview-service.microsoft.com Azure Government : <tenantID>-api.purview-service.microsoft.us Chine: <tenantID>-api.purview-service.microsoft.cn |
443 | Requis pour se connecter au service Microsoft Purview. Si vous utilisez des points de terminaison privés Microsoft Purview, ce point de terminaison est couvert par un point de terminaison privé de compte. |
Cloud public : <purview_account>.purview.azure.com Azure Government : <purview_account>.purview.azure.us Chine: <purview_account>.purview.azure.cn |
443 | Requis pour se connecter au service Microsoft Purview. Si vous utilisez des points de terminaison privés Microsoft Purview, ce point de terminaison est couvert par un point de terminaison privé de compte. |
Cloud public : <managed_storage_account>.blob.core.windows.net ou <ingestion_storage_account>.*.blob.storage.azure.net Azure Government : <managed_storage_account>. blob.core.usgovcloudapi.net ou<ingestion_storage_account>. blob.core.usgovcloudapi.net Chine : <managed_storage_account>.blob.core.chinacloudapi.cn ou <ingestion_storage_account>.blob.core.chinacloudapi.cn |
443 | Requis pour se connecter au compte de stockage d’objets blob Azure géré par Microsoft Purview. |
Cloud public : <managed_storage_account>.queue.core.windows.net ou <ingestion_storage_account>.*.queue.storage.azure.net Azure Government : <managed_storage_account>. queue.core.usgovcloudapi.net ou<ingestion_storage_account>. queue.core.usgovcloudapi.net Chine : <managed_storage_account>.queue.core.chinacloudapi.cn ou <ingestion_storage_account>.queue.core.chinacloudapi.cn |
443 | Requis pour se connecter au compte de stockage File d’attente Azure géré par Microsoft Purview. |
Cloud public : *.compute.governance.azure.com Azure Government : *.compute.governance.azure.us Chine: *.compute.governance.azure.cn |
443 | Requis pour se connecter au service Microsoft Purview. Actuellement, un caractère générique est requis, car il n’existe aucune ressource dédiée. |
mcr.microsoft.com | 443 | Requis pour télécharger des images. |
*.data.mcr.microsoft.com | 443 | Requis pour télécharger des images. |
Remarque
Selon les sources que les utilisateurs souhaitent analyser, ils doivent également autoriser d’autres domaines et ports sortants pour d’autres sources Azure ou externes.
Version
En règle générale, nous publions chaque mois une nouvelle version mineure du runtime d’intégration auto-hébergé, qui inclut des fonctionnalités, des améliorations et des correctifs de bogues.
Chaque version du runtime d’intégration auto-hébergé expire dans un an.
Guide pratique pour case activée la version actuelle
Vous pouvez case activée la version de votre runtime d’intégration auto-hébergé Kubernetes sur le portail ou avec l’IRCTL.
Portail
- Dans le portail Microsoft Purview, accédez à Data Map.
- Sélectionnez Runtimes d’intégration
- La quatrième colonne de la ligne de description de votre runtime d’intégration sera Version, et vous pouvez case activée la version.
IRCTL (1.1.0 et versions ultérieures)
La commande describe retourne la version du runtime d’intégration.
./irctl describe
Mise à jour automatique
À partir de la version 1.1.0, le runtime d’intégration auto-hébergé Kubernetes prend en charge la mise à jour automatique, qui est activée par défaut. Cette fonctionnalité garantit que votre runtime d’intégration est automatiquement mis à niveau vers la dernière version gérée par Microsoft environ une fois par mois.
Exclure
Nous vous recommandons d’activer la mise à jour automatique pour bénéficier des dernières fonctionnalités et améliorations. Toutefois, vous avez la possibilité de refuser la mise à jour automatique à l’aide d’IRCTL. La configuration de la mise à jour automatique persiste lors de la réinstallation, vous n’avez donc pas besoin de la désactiver à chaque installation.
./irctl config set autoUpdate.enabled false
./irctl config view
Mise à jour automatique de la version et de la dernière version
Pour garantir la stabilité, la mise à jour automatique se trouve généralement derrière la dernière version avec un délai d’un mois. La version de mise à jour automatique est gérée par Microsoft.
Si vous souhaitez mettre à niveau votre runtime d’intégration vers des versions plus récentes, une mise à niveau manuelle doit être effectuée avec IRCTL de la version spécifique.