Kubernetes pris en charge le runtime d’intégration de données auto-hébergé pour les sources de données locales (préversion)

Qualité des données Microsoft Purview pour les sources de données locales permet aux organisations d’évaluer, de surveiller et d’améliorer la qualité des données stockées dans des systèmes internes tels que des bases de données et des plateformes héritées. Il prend en charge la validation basée sur des règles, la détection des erreurs et les workflows de correction, tout en garantissant la conformité avec les stratégies organisationnelles. En s’intégrant à l’infrastructure existante, il fournit des insights et une gouvernance cohérents sur la qualité des données dans les environnements locaux et cloud.

En utilisant un runtime d’intégration de données auto-hébergé, vous pouvez mettre à l’échelle les processus de qualité des données en connectant en toute sécurité des sources de données locales à Purview. Cet article couvre le runtime d’intégration de données auto-hébergé basé sur Kubernetes Linux, qui améliore l’infrastructure sous-jacente et offre plusieurs avantages clés :

  • Scalabilité : possibilité de mettre à l’échelle des centaines de machines.
  • Performances : amélioration des performances pour l’analyse des charges de travail.
  • Sécurité (conteneurisé) : active le déploiement conteneurisé sur un cluster Kubernetes, ce qui élimine la nécessité d’héberger le runtime d’intégration de données directement sur une machine Windows.

Sources de données prises en charge

  • Oracle
  • SQL Server

Architecture

Dans une vue architecturale de haut niveau, lorsque vous installez un runtime d’intégration de données basé sur Kubernetes, plusieurs pods sont créés automatiquement sur les nœuds de votre cluster Kubernetes. Un outil en ligne de commande nommé DIRCTL déclenche cette installation. DIRCTL se connecte au service Microsoft Purview pour inscrire le runtime d’intégration de données et se connecter au cluster Kubernetes pour installer le runtime d’intégration de données auto-hébergé.  

Pendant l’installation, le processus télécharge les images du runtime d’intégration de données à partir de MCR (Registres de conteneurs Microsoft) vers les pods du runtime d’intégration de données. Une fois l’installation terminée, les pods de votre cluster se connectent au service Purview pour extraire des travaux d’analyse. À mesure qu’un travail d’analyse est extrait, il peut connecter votre source de données locale pour l’analyse de la qualité des données.

architecture dir

Configuration requise

outil en ligne de commande Intégration de données Runtime (DIRCTL)

Vous avez besoin de l’outil de ligne de commande du runtime Intégration de données (DIRCTL) pour configurer le runtime d’intégration de données. Pour obtenir des instructions de téléchargement et d’installation, consultez Configurer l’outil DIRCTL pour le runtime d’intégration auto-hébergé (préversion) .

Rôles

Pour configurer un runtime intégré auto-hébergé dans Purview, vous avez besoin du rôle Administrateur de gouvernance des données.

Cluster Kubernetes

Vous avez besoin d’un cluster Kubernetes Linux existant, ou vous devez en préparer un. Identifiez les nœuds à l’aide d’un 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 basé sur Linux s’exécutant sur une 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 ou plus (correctif, mise à l’échelle automatique du cluster non activé)
  • Nombre de pods par nœud : 20 ou plus (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é au runtime intégré auto-hébergé. Il est lisible et accessible en écriture pour le runtime d’intégration de données. Vous pouvez obtenir des journaux à partir de ce dossier ou charger des pilotes externes dans ce dossier. Le runtime d’intégration de données crée le dossier s’il n’existe pas et ne supprime pas le dossier après la suppression du runtime d’intégration des données. Les images conteneur utilisées par le runtime d’intégration de données sont gérées par Le garbage collection Kubernetes, qui n’est pas nettoyé par le runtime d’intégration de données. Configurez le seuil approprié pour votre cluster Kubernetes.

La connectivité sortante est nécessaire pour extraire des images conteneur ainsi que pour une opération ultérieure, qui inclut des activités telles que l’extraction de travaux de qualité des données et l’envoi de statistiques générées.

Contexte Kubernetes

Le contexte Kubernetes, qui contient des informations de cluster Kubernetes, ainsi que les autorisations et les 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 DIR, 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. Vous pouvez fusionner le contexte 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.

  • Une fois que vous avez obtenu le fichier de configuration pour le contexte Kubernetes, fusionnez-le dans le fichier $HOME/.kube/config de configuration sur l’ordinateur sur lequel 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 Comment configurer l’accès à plusieurs clusters.

Configurer un runtime d’intégration de données auto-hébergé

  1. Accédez à Paramètres>Catalogue unifié Microsoft Purview>Intégration de données Runtime, puis sélectionnez Nouveau pour créer un runtime d’intégration de données.

  2. Entrez un nom et une description pour le runtime intégré auto-hébergé, puis sélectionnez Créer.

    créer un runtime d’intégration de données

  3. Sélectionnez Générer une clé pour générer une clé d’inscription et inscrire votre runtime d’intégration de données.

    générer une clé

  4. Copiez la valeur de la clé et sélectionnez Terminé.

    Conseil

    Si nécessaire, vous pouvez régénérer une clé ou révoquer une clé générée.

  5. Sélectionnez For Linux pour télécharger l’outil de ligne de commande Intégration de données Runtime (DIRCTL). Obtenez des détails sur l’installation et la gestion de DIRCTL.

    télécharger l’outil en ligne de commande

  6. Sur l’ordinateur sur lequel vous souhaitez exécuter la ligne de commande DIRCTL, installez DIRCTL à partir du téléchargement. DIRCTL se connecte à votre cluster Kubernetes par contexte de la configuration Kube. Si vous ne spécifiez pas de contexte, DIRCTL utilise le contexte actuel. Vous pouvez définir le contexte de l’une des deux manières suivantes :

    1. Exécutez kubectl la ligne de commande et exécutez cette commande pour confirmer le contexte actuel :
      • kubectl config get-contexts: répertorier tous les contextes configurés sur l’ordinateur
      • kubectl config current-context: obtenir le nom du contexte actuel
      • kubectl config use-context <name of context>
    2. Exécutez DIRCTL et exécutez -context pour spécifier le contexte dans la configuration Kube.
  7. Exécutez la commande DIRCTL Create : ./DIRCTL create - -registration-key <registration-key copied from the portal> . La commande DIRCTL Create inscrit un nouveau runtime d’intégration de données auprès de Data Quality et lance la création d’une application dans Kubernetes en tant que pod spécifique au runtime d’intégration de données inscrit. Il gère l’approvisionnement des ressources et la configuration essentielles pour la fonctionnalité de runtime d’intégration de données tout en conservant la compatibilité avec la configuration système existante.

Une fois l’inscription terminée, vous pouvez case activée la status du runtime d’intégration de données dans la page Intégration de données Runtime dans Paramètres. Le status s’affiche en ligne. Vous pouvez également case activée la status de votre runtime d’intégration de données en exécutant la commande suivante : ./DIRCTL describe.

Conseil

Voici les points de terminaison publics auxquels le runtime d’intégration de données se connecte et qui doivent être autorisés dans la liste :

  • < >purview_account_name.purview.azure.com
  • Mcr.microsoft.com
  • *.data.mcr.microsoft.com

Créer l’espace de noms

  1. Exécutez la commande suivante pour créer l’espace de noms :

    kubectl create namespace dirctl
    
  2. Créez et appliquez le rolebindingv2.yaml fichier avec le contenu suivant :

    apiVersion: rbac.authorization.k8s.io/v1 
    kind: RoleBinding 
    metadata:
      name: readwrite-mongodb-secret
      namespace: dirctl
    subjects:
    - kind: ServiceAccount
      name: default
      namespace: dirctl
    roleRef:
      kind: Role
      name: secret-manager
      apiGroup: rbac.authorization.k8s.io
    

    Appliquez le fichier :

    kubectl apply -f rolebindingv2.yaml
    
  3. Créez et appliquez le secret-manager-role.yaml fichier avec le contenu suivant :

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      namespace: dirctl
      name: secret-manager
    rules:
    - apiGroups: [""]
      resources: ["secrets"]
      verbs: ["get", "list", "create", "update", "patch", "delete"]
    - apiGroups: [""]
      resources: ["configmaps"]
      verbs: ["get", "list", "watch"]
    - apiGroups: ["apps"]
      resources: ["deployments"]
      verbs: ["get", "list", "watch","update"]
    

    Appliquez le fichier :

    kubectl apply -f secret-manager-role.yaml
    

Configurer une connexion de source de données locale avec le runtime d’intégration de données

Se connecter à votre base de données Oracle

Créez des connexions en les associant à un runtime d’intégration de données instance.

  • Dans Catalogue unifié, accédez à Gestion de> l’intégritéQualité des données.
  • Sélectionnez le domaine de gouvernance dans lequel vous avez créé votre produit de données avec la ressource de données Oracle.
  • Sélectionnez Gérer, puis Connexion pour configurer la connexion pour votre base de données Oracle.

Ajoutez les informations suivantes pour configurer la connexion :

  • Entrez un nom d’affichage pour la connexion.
  • Entrez une description.
  • Dans Type de source, sélectionnez Oracle.
  • Sélectionnez le runtime d’intégration de données que vous avez créé dans le cadre de la configuration requise.
  • Entrez le nom d’hôte .
  • Entrez le numéro de port .
  • Entrez le nom du service.
  • Entrez le nom du schéma.
  • Sélectionnez une méthode d’authentification.
  • Entrez le nom d’utilisateur.
  • Dans Informations d’identification, entrez l’abonnement Azure, Azure Key Vault connexion, le nom du secret et la version du secret.
  • Sélectionnez Envoyer pour terminer la configuration de la connexion.

Conseil

Si vous ne disposez pas de toutes les informations requises, sélectionnez Enregistrer en tant que brouillon pour continuer ultérieurement lorsque vous disposez du reste des informations pour terminer la configuration de la connexion.

Cette image montre comment créer une connexion :

connexion oracle

Se connecter à votre base de données SQL Server

Créez des connexions en les associant à un runtime d’intégration de données instance, comme vous le faites pour Oracle. Dans SQL Server, une base de données unique peut contenir des tables appartenant à plusieurs schémas. Vous pouvez donc utiliser une seule connexion pour analyser tous les schémas d’une même base de données. Une connexion accepte uniquement les informations de base de données, mais pas le schéma. Créez des connexions pour SQL Server comme vous le faites pour d’autres types de sources de données.

  • Dans Catalogue unifié, accédez à Gestion de> l’intégritéQualité des données.
  • Sélectionnez le domaine de gouvernance dans lequel vous avez créé votre produit de données avec la ressource de données Oracle.
  • Sélectionnez Gérer, puis Connexion pour configurer la connexion pour votre base de données Oracle.

Ajoutez les informations suivantes pour configurer correctement la connexion :

  • Entrez un nom d’affichage pour la connexion.
  • Entrez une description.
  • Dans Type de source, sélectionnez SQL Server.
  • Sélectionnez le runtime d’intégration de données que vous avez créé dans le cadre de la configuration requise.
  • Entrez le point de terminaison du serveur.
  • Entrez le nom de la base de données .
  • Sélectionnez une méthode d’authentification.
  • Entrez le nom d’utilisateur.
  • Dans Informations d’identification, entrez l’abonnement Azure, Azure Key Vault connexion et Le Nom du secret.
  • Sélectionnez Envoyer pour terminer la configuration de la connexion.

Conseil

Si vous ne disposez pas de toutes les informations requises, sélectionnez Enregistrer en tant que brouillon pour continuer ultérieurement lorsque vous disposez du reste des informations pour terminer la configuration de la connexion.

Cette image montre comment créer une connexion :

Connexion sqlserver

Analyse de la qualité des données

Une fois la configuration de la connexion terminée, suivez les documents de profilage et d’analyse de la qualité des données pour mesurer et surveiller la qualité des données d’Oracle et SQL Server sources de données locales.

Haute disponibilité et scalabilité

Affectez plusieurs nœuds dans le cluster Kubernetes pour la haute disponibilité à l’aide du sélecteur de nœud 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 :

  • Disponibilité accrue du runtime d’intégration auto-hébergé afin qu’il ne soit pas un point de défaillance unique pour les analyses.

  • Autres analyses simultanées. Chaque nœud peut gérer plusieurs 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 Azure Blob, 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 s’exécutent sur un seul des nœuds.

Vous pouvez mettre à jour les fonctionnalités du runtime d’intégration auto-hébergé pris en charge par Kubernetes en effectuant un scale-out ou une mise à l’échelle manuelle des nœuds du cluster Kubernetes.

Remarque

Vous devez charger tous les pilotes nécessaires pour l’analyse sur chaque nouveau nœud.

Configuration requise pour la mise en réseau

Nom du domaine Port sortant 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, le point de terminaison privé de compte couvre ce point de terminaison.
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, le point de terminaison privé de compte couvre ce point de terminaison.
mcr.microsoft.com 443 Requis pour télécharger des images.
*.data.mcr.microsoft.com 443 Requis pour télécharger des images.