Compartir a través de


Creación y administración de un entorno de ejecución de integración autohospedado compatible con Kubernetes

En este artículo se describen los detalles de la nueva característica SHIR basada en Kubernetes para Linux que mejora la infraestructura subyacente para proporcionar varias ventajas:

  • Escalabilidad: capacidad de escalar a cientos de máquinas.
  • Rendimiento: rendimiento mejorado en las cargas de trabajo de examen.
  • Seguridad (en contenedores): capacidad de tener seguridad en contenedores en un clúster de Kubernetes, en lugar de hospedar SHIR en una máquina Windows directamente

En este artículo se tratan los detalles para instalar y administrar un entorno de ejecución de integración autohospedado compatible con Kubernetes.

Orígenes de datos admitidos

Para obtener una lista de todos los orígenes admitidos, consulte los orígenes de datos admitidos para cada tabla de Integration Runtime.

Arquitectura

En una vista arquitectónica de alto nivel, cuando se instala un SHIR basado en Kubernetes, varios pods se crean automáticamente en los nodos del clúster de Kubernetes de los usuarios. Esta instalación se puede desencadenar mediante una herramienta de línea de comandos denominada IRCTL (más detalles en las secciones siguientes). IRCTL se conecta al servicio Microsoft Purview para registrar shir y conectarse al clúster de Kubernetes para instalar shir. 

Durante la instalación, las imágenes SHIR se descargan de MCR (Registros de contenedor de Microsoft) a los pods shir. Una vez finalizada la instalación, los pods del clúster de usuarios se conectarán al servicio Microsoft Purview para extraer trabajos de examen. A medida que se extrae un trabajo de detección, puede conectar el origen de datos local de los usuarios para el examen de datos.

Infografía de la arquitectura de red para el entorno de ejecución de integración autohospedado compatible con Kubernetes.

Requisitos previos

  • Una cuenta de Microsoft Purview con soluciones de gobernanza de datos empresariales .

  • Clúster de Kubernetes: debe tener un clúster de Kubernetes basado en Linux existente o preparar uno. Los nodos se pueden identificar mediante el selector de nodos, que sigue la definición del selector de nodos de Kubernetes. Configuración mínima:

    • Tipo de contenedor: Linux
    • Versión de Kubernetes: 1.24.9 o posterior
    • So de nodo: sistema operativo basado en Linux que se ejecuta en la arquitectura x86
    • Especificación de nodo: CPU mínima de ocho núcleos, 32 GB de memoria y al menos 80 GB de espacio disponible en disco duro
    • Recuento de nodos: >=1 (debe ser fijo, no habilitar el escalador automático de clústeres)
    • Número de pod por nodo: >= 20 (número máximo de pods: recuento de otros pods que no pertenecen a Self-Hosted IR)

    Nota:

    La carpeta /var/irstorage/ de cada nodo está reservada para SHIR. Se puede leer y escribir en SHIR. Puede obtener que los registros se conserven desde esta carpeta o cargar controladores externos en esta carpeta. ShiR lo creará si no existe y no se eliminará después de eliminar SHIR. Las imágenes de contenedor usadas por SHIR se administran mediante la recolección de elementos no utilizados de Kubernetes, que SHIR no limpiará. Configure el umbral adecuado para el clúster de Kubernetes.

  • Red de clúster de Kubernetes: el clúster de Kubernetes que tiene debe poder conectarse al punto de conexión enumerado en los requisitos de red.

  • Herramienta de línea de comandos de Integration Runtime: para administrar localmente el SHIR de Kubernetes de Microsoft Purview, necesita una herramienta de línea de comandos denominada IRCTL. Puede descargar esta herramienta durante el proceso de creación de SHIR. IRCTL es una herramienta de línea de comandos para administrar su SHIR de Microsoft Purview. Para obtener más información, consulte la documentación de IRCTL.

  • Contexto de Kubernetes: el contexto de Kubernetes, que contiene información del clúster de Kubernetes y los permisos y credenciales del usuario para este clúster, es necesario para comunicarse con el clúster de Kubernetes. Para facilitar la configuración de los permisos del usuario para la administración de SHIR, puede empezar con kubernetes Administración rol. Este contexto se genera con la configuración del clúster de Kubernetes y se guarda en un archivo de configuración. Dónde y cómo puede obtener este archivo depende de la configuración del clúster de Kubernetes.
    • Si usa kubeadm init para configurar el clúster de Kubernetes, puede encontrar el archivo de configuración en /etc/Kubernetes/admin.conf.
    • Si usa AKS, puede seguir las instrucciones de AKS para usar el comando az del módulo de PowerShell para obtener las credenciales de este clúster en el equipo local. El contexto se puede combinar con el archivo de configuración en $HOME/.kube/config directamente.
    • Si usa otras herramientas para configurar un clúster de Kubernetes, consulte la documentación de Kubernetes.
    • Como tiene el archivo de configuración del contexto de Kubernetes, combínelo con el archivo de configuración, que es $HOME/.kube/config, en la máquina en la que desea ejecutar el comando IRCTL. También puede establecer el archivo de configuración del contexto de Kubernetes en una variable de entorno denominada KUBECONFIG. Para obtener más información sobre el contexto de Kubernetes, consulte Configuración del acceso a varios clústeres.

Creación de un entorno de ejecución de integración autohospedado compatible con Kubernetes

Para controlar y administrar un SHIR de Kubernetes, los usuarios pueden descargar una herramienta de línea de comandos denominada IRCTL. Estos son los pasos para el entorno de ejecución de integración autohospedado compatible con Kubernetes.

Los pasos le llevarán a través de la descarga de IRCTL, pero para obtener vínculos directos, consulte la documentación de IRCTL.

Configuración de un entorno de ejecución de integración autohospedado compatible con Kubernetes

  1. Abra la ventana Entornos de ejecución de integración en el Mapa de datos de Microsoft Purview

  2. Seleccione el botón + Nuevo.

    Captura de pantalla de la ventana de entornos de ejecución de integración en el Mapa de datos de Microsoft Purview.

  3. Seleccione Autohospedado y, a continuación, seleccione Continuar.

    Captura de pantalla de la nueva ventana del entorno de ejecución de integración, con autohospedado seleccionado.

  4. Asigne un nombre al entorno de ejecución y, a continuación, seleccione el botón de alternancia compatibilidad con el servicio Kubernetes para habilitarlo.

    Captura de pantalla de la nueva ventana del entorno de ejecución de integración con el botón de alternancia de Kubernetes habilitado.

  5. Seleccione Crear

  6. Seleccione Obtener clave de registro.

    Captura de pantalla de la página Ver entorno de ejecución de integración con el botón Obtener clave de registro resaltado.

  7. Copie el valor de clave. Necesita ejecutar comandos en IRCTL más adelante.

    Sugerencia

    Si es necesario, puede volver a generar una clave o revocar una clave generada.

  8. Seleccione el vínculo Descargar IRCTL e instalar Integration Runtime para descargar la herramienta IRCTL. (También puede seguir estos pasos para descargar IRCTL directamente).

  9. En la máquina en la que desea ejecutar la línea de comandos IRCTL, instale IRCTL desde la descarga. IRCTL se conecta al clúster de Kubernetes mediante el contexto de la configuración de Kube. Si no se especifica el contexto, IRCTL usa el contexto actual. Puede establecer el contexto de una de estas dos maneras:

    • Ejecute la línea de comandos kubectl y ejecute este comando para confirmar el contexto actual:

      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>
      
    • Ejecute IRCTL y ejecútelo --context para especificar el contexto en la configuración de Kube.

  10. Ejecute la línea de comandos IRCTL y ejecute este comando con la clave de registro que copió.

    ./irctl create --registration-key <registration key copied from the portal>
    

    Nota:

    Si no se especifica el selector de nodos , usará todos los nodos del clúster de Kubernetes. Para AKS, sugiera usar la etiqueta del grupo de nodos de AKS como selector de nodos o puede personalizar etiquetas diferentes para los nodos SHIR.

  11. Verá esta impresión:

    [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!  
    

    Sugerencia

    Si ctrl-C u otras razones interrumpen el progreso de la instalación, se puede usar el siguiente comando para supervisar el progreso de la instalación: ./irctl install status

  12. Una vez completada la instalación, para comprobar el estado actual del SHIR, ejecute este comando:

    ./irctl describe
    
  13. También puede comprobar el estado de shir en el portal de Microsoft Purview, en la página Entornos de ejecución de integración .

Configuración de un examen con controladores externos

Al examinar algunos orígenes de datos, debe instalar el controlador correspondiente en la máquina donde está instalado shir para que Microsoft Purview se conecte con el origen de datos. A continuación se muestra un ejemplo de examen de Db2. Consulte el artículo del conector correspondiente para conocer los requisitos previos específicos.

Nota:

Los orígenes de datos que necesitan estos controladores externos tendrán la información que se muestra en sus requisitos previos.

En este ejemplo, instalaremos el controlador Db2. Los pasos para otros controladores serán similares.

  1. En primer lugar, instale el entorno de ejecución de integración.

  2. Descargue el controlador (cada origen tendrá su controlador individual en la lista). Por ejemplo, puede encontrar el controlador DB2 aquí: Conectarse a Db2 y administrarlo.

  3. Cargue el controlador en cada nodo del entorno de ejecución de integración. Puede usar un comando como este:

    ./irctl storage upload --source jdbc_sqlj/db2_driver --destination driver/db2
    

    Una confirmación de carga correcta tendrá este aspecto:

    ========== 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 
    

    Nota:

    Si reemplaza nodos o escala horizontalmente a nodos nuevos, tendrá que cargar el controlador externo de nuevo.

  4. Compruebe los archivos cargados con este comando:

    ./irctl storage list driver/db2
    

    Debería ver una respuesta como esta:

    ========== 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 
    
  5. Cree un examen con el valor de DriverLocation con el valor De destino del paso 3.

    Captura de pantalla de la ventana de configuración del examen, en la que se muestra la ubicación del controlador que aparece como driver/db2.

Alta disponibilidad y escalabilidad

Puede asignar varios nodos del clúster de Kubernetes para que tengan alta disponibilidad mediante el selector de nodos durante la instalación del entorno de ejecución de integración autohospedado compatible con Kubernetes. Las ventajas de tener varios nodos son:

  • Mayor disponibilidad del entorno de ejecución de integración autohospedado para que ya no sea el único punto de error de los exámenes.
  • Ejecute más exámenes simultáneos. Cada nodo puede habilitar muchas ejecuciones de examen al mismo tiempo. Puede escalar horizontalmente manualmente los nodos del clúster de Kubernetes si necesita más exámenes simultáneos.
  • Al examinar algunos orígenes, como Azure Blob, Azure Data Lake Storage Gen2 y Azure Files, cada ejecución de examen puede usar varios nodos para aumentar el rendimiento del examen. Para otros orígenes, los exámenes se ejecutan solo en uno de los nodos.

La funcionalidad del entorno de ejecución de integración autohospedado compatible con Kubernetes se puede actualizar mediante el escalado horizontal o horizontal manual de los nodos del clúster de Kubernetes.

Nota:

Debe cargar todos los controladores necesarios para el examen en cada nuevo nodo.

Requisitos de red

Nombre de dominio Puertos de salida Descripción
Nube pública: <tenantID>-api.purview-service.microsoft.com
Azure Government:<tenantID>-api.purview-service.microsoft.us
China: <tenantID>-api.purview-service.microsoft.cn
443 Necesario para conectarse al servicio Microsoft Purview. Si usa puntos de conexión privados de Microsoft Purview, este punto de conexión está cubierto por el punto de conexión privado de la cuenta.
Nube pública: <purview_account>.purview.azure.com
Azure Government:<purview_account>.purview.azure.us
China: <purview_account>.purview.azure.cn
443 Necesario para conectarse al servicio Microsoft Purview. Si usa puntos de conexión privados de Microsoft Purview, este punto de conexión está cubierto por el punto de conexión privado de la cuenta.
Nube pública: <managed_storage_account>.blob.core.windows.net o <ingestion_storage_account>.*.blob.storage.azure.net
Azure Government: <managed_storage_account>. blob.core.usgovcloudapi.net o<ingestion_storage_account>. blob.core.usgovcloudapi.net
China: <managed_storage_account>.blob.core.chinacloudapi.cno <ingestion_storage_account>.blob.core.chinacloudapi.cn
443 Necesario para conectarse a la cuenta de Azure Blob Storage administrada por Microsoft Purview.
Nube pública: <managed_storage_account>.queue.core.windows.net o <ingestion_storage_account>.*.queue.storage.azure.net
Azure Government: <managed_storage_account>. queue.core.usgovcloudapi.net o<ingestion_storage_account>. queue.core.usgovcloudapi.net
China: <managed_storage_account>.queue.core.chinacloudapi.cno <ingestion_storage_account>.queue.core.chinacloudapi.cn
443 Necesario para conectarse a la cuenta de Azure Queue Storage administrada por Microsoft Purview.
Nube pública: *.compute.governance.azure.com
Azure Government:*.compute.governance.azure.us
China: *.compute.governance.azure.cn
443 Necesario para conectarse al servicio Microsoft Purview. Actualmente se requiere un carácter comodín, ya que no hay ningún recurso dedicado.
mcr.microsoft.com 443 Necesario para descargar imágenes.
*.data.mcr.microsoft.com 443 Necesario para descargar imágenes.

Nota:

En función de los orígenes que los usuarios quieran examinar, también deben permitir otros dominios y puertos de salida para otros orígenes externos o de Azure.

Versión

Normalmente, publicamos una nueva versión secundaria del entorno de ejecución de integración autohospedado cada mes, que incluye características, mejoras y correcciones de errores.

Cada versión del entorno de ejecución de integración autohospedado expira en un año.

Comprobación de la versión actual

Puede comprobar la versión del entorno de ejecución de integración autohospedado de Kubernetes en el portal o con IRCTL.

Portal

  1. En el portal de Microsoft Purview, vaya a Mapa de datos.
  2. Seleccione Entornos de ejecución de integración
  3. La cuarta columna de la línea de descripción del entorno de ejecución de integración será Versión y puede comprobar la versión allí.

IRCTL (1.1.0 y versiones posteriores)

El comando describe devolverá la versión del entorno de ejecución de integración.

./irctl describe

Actualización automática

A partir de la versión 1.1.0, el entorno de ejecución de integración autohospedado de Kubernetes admite la actualización automática, que está habilitada de forma predeterminada. Esta característica garantiza que el entorno de ejecución de integración se actualice automáticamente a la versión más reciente administrada por Microsoft aproximadamente una vez al mes.

No participar

Se recomienda mantener habilitada la actualización automática para beneficiarse de las características y mejoras más recientes. Sin embargo, tiene la opción de no participar en la actualización automática mediante IRCTL. La configuración de actualización automática persiste mediante la reinstalación, por lo que no es necesario deshabilitarla con cada instalación.

./irctl config set autoUpdate.enabled false
./irctl config view

Versión de actualización automática frente a la versión más reciente

Para garantizar la estabilidad, la actualización automática suele estar detrás de la versión más reciente con un retraso de un mes. Microsoft administra la versión de actualización automática.

Si desea actualizar el entorno de ejecución de integración a versiones más recientes, se debe realizar una actualización manual con IRCTL de la versión específica.

Pasos siguientes