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.
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.
- Si usa
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
Abra la ventana Entornos de ejecución de integración en el Mapa de datos de Microsoft Purview
- Si usa el nuevo portal de Microsoft Purview:
- Abrir el mapa de datos
- Seleccione Administración de origen
- Seleccione Entornos de ejecución de integración
- Si usa el portal de gobernanza de Microsoft Purview clásico:
- Abrir el mapa de datos
- Seleccione Entornos de ejecución de integración
- Si usa el nuevo portal de Microsoft Purview:
Seleccione el botón + Nuevo.
Seleccione Autohospedado y, a continuación, seleccione Continuar.
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.
Seleccione Crear
Seleccione Obtener clave de registro.
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.
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).
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.
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.
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
Una vez completada la instalación, para comprobar el estado actual del SHIR, ejecute este comando:
./irctl describe
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.
En primer lugar, instale el entorno de ejecución de integración.
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.
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.
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
Cree un examen con el valor de DriverLocation con el valor De destino del paso 3.
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.cn o <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.cn o <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
- En el portal de Microsoft Purview, vaya a Mapa de datos.
- Seleccione Entornos de ejecución de integración
- 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.