Tempo de execução de integração de dados auto-hospedada com suporte do Kubernetes para fontes de dados locais (visualização)

A Qualidade de Dados do Microsoft Purview para fontes de dados locais permite que as organizações avaliem, monitorem e melhorem a qualidade dos dados armazenados em sistemas internos, como bancos de dados e plataformas herdadas. Ele oferece suporte a fluxos de trabalho de validação, detecção de erros e correção baseados em regras, garantindo a conformidade com as políticas organizacionais. Ao integrar-se à infraestrutura existente, ele fornece insights consistentes de qualidade de dados e governança em ambientes locais e em nuvem.

Usando um runtime de integração de dados auto-hospedado, você pode dimensionar processos de qualidade de dados conectando com segurança fontes de dados locais ao Purview. Este artigo aborda o runtime de integração de dados auto-hospedada do Linux baseado em Kubernetes, que aprimora a infraestrutura subjacente e fornece vários benefícios importantes:

  • Escalabilidade: capacidade de escalar para centenas de máquinas.
  • Desempenho: desempenho aprimorado para digitalizar cargas de trabalho.
  • Segurança (conteinerizado): permite a implantação em contêiner em um cluster Kubernetes, eliminando a necessidade de hospedar o runtime de integração de dados diretamente em uma máquina Windows.

Fontes de dados com suporte

  • Oracle
  • SQL Server

Arquitetura

Em uma visão arquitetônica de alto nível, quando você instala um runtime de integração de dados baseado em Kubernetes, vários pods são criados automaticamente nos nós do cluster do Kubernetes. Uma ferramenta de linha de comando chamada DIRCTL aciona essa instalação. O DIRCTL se conecta ao Serviço Microsoft Purview para registrar o runtime de integração de dados e se conecta ao cluster do Kubernetes para instalar o runtime de integração de dados auto-hospedado.  

Durante a instalação, o processo baixa imagens de runtime de integração de dados do MCR (Microsoft Container Registries) para os pods de runtime de integração de dados. Após a instalação, os pods em seu cluster se conectam ao serviço Purview para extrair trabalhos de verificação. Quando um trabalho de verificação é efetuado, ele pode conectar sua fonte de dados local para verificação de Qualidade de Dados.

Arquitetura DIR

Pré-requisitos

Integração de Dados Runtime Command Line tool (DIRCTL)

Você precisa da ferramenta de Linha de Comando de Runtime de Integração de Dados (DIRCTL) para configurar o runtime de integração de dados. Para obter instruções de download e instalação, consulte Configurar a ferramenta DIRCTL para runtime de integração auto-hospedada (versão prévia).

Funções

Para configurar um runtime integrado auto-hospedado no Purview, você precisa da função Administrador de Governança de Dados.

Cluster do Kubernetes

Você precisa de um cluster Kubernetes baseado em Linux existente ou precisa preparar um. Identifique os nós usando um seletor de nó, que segue a definição do seletor de nó do Kubernetes. Configuração mínima:

  • Tipo de contêiner: Linux
  • Versão do Kubernetes: 1.24.9 ou posterior
  • Sistema operacional Node: sistema operacional baseado em Linux em execução na arquitetura x86
  • Especificação do nó: CPU mínima de oito núcleos, memória de 32 GB e pelo menos 80 GB de espaço disponível no disco rígido
  • Contagem de nós: 1 ou mais (corrigido, não habilitado Dimensionador automático de cluster)
  • Número de pods por nó: 20 ou mais (número máximo de pods – contagem de outros pods não pertencentes a Self-Hosted IR)

Observação

A pasta /var/irstorage/ de cada nó é reservada para o runtime integrado auto-hospedado. É legível e gravável para o runtime de integração de dados. Você pode obter logs dessa pasta ou carregar drivers externos nessa pasta. O Data Integration Runtime cria a pasta se ela não existir e não a exclui depois que o Data Integration Runtime é excluído. As imagens de contêiner usadas pelo runtime de integração de dados são gerenciadas pela Coleta de Lixo do Kubernetes, que não é limpa pelo runtime de integração de dados. Configure o limite adequado para o cluster do Kubernetes.

A conectividade de saída é necessária para extrair imagens de contêiner, bem como para operações adicionais, que incluem atividades como extrair trabalhos de qualidade de dados e enviar estatísticas geradas.

Contexto do Kubernetes

O contexto do Kubernetes, que contém informações do cluster Kubernetes e permissões e credenciais do usuário para esse cluster, é necessário para se comunicar com o cluster do Kubernetes. Para facilitar a configuração das permissões do usuário para gerenciamento de DIR, você pode começar com a função de Administração do Kubernetes. Esse contexto é gerado com a configuração do cluster Kubernetes e salvo em um arquivo de configuração. Onde e como você pode obter esse arquivo depende da configuração do cluster Kubernetes.

  • Se você usar kubeadm init para configurar o cluster do Kubernetes, poderá encontrar o arquivo de configuração em /etc/Kubernetes/admin.conf.

  • Se você usar o AKS, poderá seguir as diretrizes do AKS para usar o comando do módulo Az PowerShell para obter credenciais desse cluster para seu computador local. Você pode mesclar o contexto ao arquivo $HOME/.kube/config de configuração diretamente.

  • Se você estiver usando outras ferramentas para configurar um cluster do Kubernetes, consulte a documentação do Kubernetes.

  • Depois de obter o arquivo de configuração para o contexto do Kubernetes, mescle-o ao arquivo $HOME/.kube/config de configuração no computador em que você deseja executar o comando IRCTL. Ou você pode definir o arquivo de configuração do contexto do Kubernetes em uma variável de ambiente chamada KUBECONFIG. Para obter mais informações sobre o contexto do Kubernetes, consulte como configurar o acesso a vários clusters.

Configurar um runtime de integração de dados auto-hospedado

  1. Vá para Configurações>, Catálogo unificado do Microsoft Purview>, Integração de Dados Runtime e selecione Novo para criar um runtime de integração de dados.

  2. Insira um Nome e uma Descrição para o runtime integrado auto-hospedado e selecione Criar.

    Criar um runtime de integração de dados

  3. Selecione Gerar chave para gerar uma chave de registro e registrar seu runtime de integração de dados.

    Gerar chave

  4. Copie o valor da chave e selecione Concluído.

    Dica

    Se necessário, você pode regenerar uma chave ou revogar uma chave gerada.

  5. Selecione Para Linux para baixar a ferramenta de Linha de Comando de Tempo de Execução de Integração de Dados (DIRCTL). Obtenha detalhes sobre como instalar e gerenciar o DIRCTL.

    Baixar a ferramenta de linha de comando

  6. No computador em que você deseja executar a linha de comando DIRCTL, instale o DIRCTL a partir do download. O DIRCTL se conecta ao cluster do Kubernetes pelo contexto da configuração do Kube. Se você não especificar um contexto, o DIRCTL usará o contexto atual. Você pode definir o contexto de duas maneiras:

    1. Execute kubectl a linha de comando e execute este comando para confirmar o contexto atual:
      • kubectl config get-contexts: listar todos os contextos configurados no computador
      • kubectl config current-context: Obtém o nome do contexto atual
      • kubectl config use-context <name of context>
    2. Execute o DIRCTL e execute -context para especificar o contexto na configuração do Kube.
  7. Execute o comando DIRCTL Create: ./DIRCTL create - -registration-key <registration-key copied from the portal> . O comando DIRCTL Create registra um novo runtime de integração de dados com Data Quality e inicia a criação de um aplicativo no Kubernetes como um pod específico para o runtime de integração de dados registrado. Ele lida com o provisionamento de recursos e a configuração essenciais para a funcionalidade do runtime de integração de dados, mantendo a compatibilidade com os requisitos do sistema existentes.

Após o término do registro, você poderá marcar o status do runtime de integração de dados na página do Runtime de Integração de Dados em Configurações. O status é exibido como Online. Você também pode marcar o status do seu runtime de integração de dados executando este comando: ./DIRCTL describe.

Dica

Estes são os pontos de extremidade públicos aos quais o Data Integration Runtime se conecta e que precisam ser permitidos listados:

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

Criar o namespace

  1. Execute o seguinte comando para criar o namespace:

    kubectl create namespace dirctl
    
  2. Crie e aplique o rolebindingv2.yaml arquivo com o seguinte conteúdo:

    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
    

    Aplicar o arquivo:

    kubectl apply -f rolebindingv2.yaml
    
  3. Crie e aplique o secret-manager-role.yaml arquivo com o seguinte conteúdo:

    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"]
    

    Aplicar o arquivo:

    kubectl apply -f secret-manager-role.yaml
    

Configurar a conexão de fonte de dados local com o runtime de integração de dados

Conecte-se ao seu banco de dados Oracle

Crie conexões associando-as a uma instância do Data Integration Runtime.

  • No Catálogo unificado, acesse Gerenciamento de> integridadeQualidade de dados.
  • Selecione o domínio de governança no qual você criou seu produto de dados com o Oracle Data Asset.
  • Selecione Gerenciar e, em seguida, selecione Conexão para configurar a conexão para seu banco de dados Oracle.

Adicione as seguintes informações para configurar a conexão:

  • Insira um Nome de exibição para a conexão.
  • Insira uma descrição.
  • Em Tipo de origem, selecione Oracle.
  • Selecione o runtime de integração de dados que você criou como parte do pré-requisito.
  • Insira o Nome do host .
  • Insira o número da porta .
  • Insira o nome do serviço.
  • Insira o nome do esquema.
  • Selecione um método de autenticação.
  • Digite o nome de usuário.
  • Em Credencial, insira a assinatura Azure, Azure Key Vault conexão, o Nome do segredo e a Versão do segredo.
  • Selecione Enviar para concluir a configuração da conexão.

Dica

Se você não tiver todas as informações necessárias, selecione Salvar como rascunho para continuar mais tarde, quando tiver o restante das informações para concluir a configuração da conexão.

Esta imagem ilustra como criar uma conexão:

Conexão Oracle

Conectar-se ao banco de dados do SQL Server

Crie conexões associando-as a uma instância de runtime de integração de dados, assim como você faz com o Oracle. No SQL Server, um único banco de dados pode conter tabelas pertencentes a vários esquemas, portanto, você pode usar uma única conexão para examinar todos os esquemas em um único banco de dados. Uma conexão aceita apenas informações de banco de dados, mas não esquema. Crie conexões para o SQL Server da mesma forma que faz com outros tipos de fonte de dados.

  • No Catálogo unificado, acesse Gerenciamento de> integridadeQualidade de dados.
  • Selecione o domínio de governança no qual você criou seu produto de dados com o Oracle Data Asset.
  • Selecione Gerenciar e, em seguida, selecione Conexão para configurar a conexão para seu banco de dados Oracle.

Adicione as seguintes informações para configurar a conexão com êxito:

  • Insira um Nome de exibição para a conexão.
  • Insira uma descrição.
  • Em Tipo de origem, selecione SQL Server.
  • Selecione o runtime de integração de dados que você criou como parte do pré-requisito.
  • Insira o ponto de extremidade do servidor.
  • Insira o nome do Banco de dados .
  • Selecione um método de autenticação.
  • Digite o nome de usuário.
  • Em Credencial, insira a assinatura Azure, Azure Key Vault conexão e o nome do segredo.
  • Selecione Enviar para concluir a configuração da conexão.

Dica

Se você não tiver todas as informações necessárias, selecione Salvar como rascunho para continuar mais tarde, quando tiver o restante das informações para concluir a configuração da conexão.

Esta imagem ilustra como criar uma conexão:

Conexão do SQL Server

Verificação da qualidade de dados

Depois de concluir a configuração da conexão, siga a criação de perfil de qualidade de dados e os documentos de verificação para medir e monitorar a qualidade dos dados das fontes de dados locais do Oracle e do SQL Server.

Alta disponibilidade e escalabilidade

Atribua vários nós no cluster do Kubernetes para alta disponibilidade usando o seletor de nó durante a instalação do runtime de integração auto-hospedada com suporte do Kubernetes. Os benefícios de ter vários nós incluem:

  • Maior disponibilidade do runtime de integração auto-hospedada para que ele não seja um único ponto de falha para verificações.

  • Mais varreduras simultâneas. Cada nó pode lidar com muitas execuções de verificação ao mesmo tempo. Você pode escalar horizontalmente manualmente os nós do cluster Kubernetes se precisar de mais verificações simultâneas.

  • Ao verificar algumas fontes, como o Blob do Azure, o Azure Data Lake Storage Gen2 e os Arquivos do Azure, cada execução de verificação pode usar vários nós para aumentar o desempenho da verificação. Para outras fontes, as verificações são executadas em apenas um dos nós.

Você pode atualizar os recursos do runtime de integração auto-hospedada com suporte do Kubernetes escalando horizontalmente manualmente ou reduzindo horizontalmente os nós do cluster do Kubernetes.

Observação

Você deve fazer upload de todos os drivers necessários para a verificação em cada novo nó.

Requisito de rede

Nome de domínio Porta de saída Descrição
Nuvem pública: <tenantID>-api.purview-service.microsoft.com
Azure Governamental: <tenantID>-api.purview-service.microsoft.us
China: <tenantID>-api.purview-service.microsoft.cn
443 Necessário para se conectar ao serviço Microsoft Purview. Se você usar Pontos de Extremidade Privados do Microsoft Purview, o ponto de extremidade privado da conta abrange esse ponto de extremidade.
Nuvem pública: <purview_account>.purview.azure.com
Azure Governamental: <purview_account>.purview.azure.us
China: <purview_account>.purview.azure.cn
443 Necessário para se conectar ao serviço Microsoft Purview. Se você usar Pontos de Extremidade Privados do Microsoft Purview, o ponto de extremidade privado da conta abrange esse ponto de extremidade.
mcr.microsoft.com 443 Necessário para baixar imagens.
*.data.mcr.microsoft.com 443 Necessário para baixar imagens.