Compartir a través de


Solución de problemas de un entorno de ejecución de integración autohospedado compatible con Kubernetes

En este artículo se tratan los detalles para solucionar problemas del nuevo entorno de ejecución de integración autohospedado basado en Kubernetes para Linux.

Puede buscar los errores que vea en la guía de errores siguiente. Para obtener soporte técnico y obtener instrucciones para solucionar problemas de SHIR, es posible que tenga que generar un identificador de carga de registro y ponerse en contacto con el soporte técnico de Microsoft.

Recopilación de registros de Integration Runtime autohospedado de Kubernetes

Para generar el identificador de carga de registros para Soporte técnico de Microsoft:

  1. Una vez que un examen muestre el estado Error, vaya a la máquina virtual o la máquina donde está instalada la herramienta IRCTL .
  2. Use el ./irctl log uploadcomando .
  3. Cuando se carguen los registros, mantenga un registro del identificador de carga de registro que se imprime.
  4. Si el entorno de ejecución de integración autohospedado no se puede registrar, use la guía siguiente para descargar los registros en local y enviarlos al soporte técnico de Microsoft.

Para recopilar el registro de Integration Runtime autohospedado y examinar el registro de ejecución para solucionar problemas de SHIR, use el ./irctl log downloadcomando .

Por ejemplo:

./irctl log download --destination "C:\Users\user\logs\"

Los registros se descargarán en la ruta de acceso de destino.

Nota:

El registro se reservará durante 14 días. Para conservarlo, cárguelo en Microsoft o descárguelo en el equipo local.

Error de conectividad de IRCTL con Kubernetes

Puede obtener una configuración de contexto de Kubernetes del administrador de Kubernetes y el registro podría producir un error con uno de los siguientes mensajes de error:

  • Error: invalid flag context [] .kube/config: no such file or directory
  • [Warning] Failed to create kube client with context [] with error

Causa

Al instalar un entorno de ejecución de integración autohospedado, se requiere una configuración correcta de Kubernetes y una conectividad estable.

Solución

  1. Asegúrese de que el archivo de contexto de Kubernetes se encuentra en la ruta de acceso correcta.
  2. Asegúrese de que la máquina IRCTL puede llegar al servidor de API de clúster de Kubernetes.

Error de permiso IRCTL

Al conectarse, podría ver los siguientes mensajes de error:

  • [Error] Failed to list namespaces to get Running SHIR
  • [Error] Failed to get configmap/ create job/ etc.

Causa

Al instalar un entorno de ejecución de integración autohospedado, se requieren permisos suficientes para varios recursos de Kubernetes.

Solución

Vuelva a generar el token de cuenta-de-servicio de Kubernetes con un rol de Administración.

Error de conectividad IRCTL con el punto de conexión de servicio de Microsoft Purview

Al intentar registrar el entorno de ejecución de integración autohospedado compatible con Kubernetes, el comando create de IRCTL podría devolver los errores siguientes:

  • [Error] Failed to register SHIR with error: Post “https://[REGION].compute.governance.azure.com/purviewAccounts/[]/integrationruntimes/[]/registerselfhostedintegrationruntime: []”

Causa

IRCTL no se puede conectar al back-end del servicio. Este problema suele deberse a la configuración de red o al firewall.

Solución

Revise la topología de red de la máquina host IRCTL. Consulte estas secciones de la página de solución de problemas general del entorno de ejecución de integración: Firewall, DNSServer, confianzas de certificados SSL y proxy http.

La clave de registro no está autorizada

Al intentar registrar el entorno de ejecución de integración autohospedado compatible con Kubernetes, el comando create de IRCTL podría devolver los errores siguientes:

  • [Error] failed to register SHIR with error: Request is not authorized.

Causa

Habían expirado o se revocaban manualmente.

Solución

Vuelva a generar la clave desde la página del entorno de ejecución de integración en el portal de Microsoft Purview y regístrese de nuevo.

Error de tiempo de espera de creación de IR autohospedado de Kubernetes

Al intentar registrar el entorno de ejecución de integración autohospedado compatible con Kubernetes, el comando create de IRCTL podría ejecutarse durante mucho tiempo hasta que se agote el tiempo de espera.

Captura de pantalla de la línea de comandos después de que se agote el tiempo de espera de la creación.

Puede empezar con la comprobación del estado de los pods en los espacios de nombres mencionados por el irctl describe comando.

Por ejemplo:

./irctl describe 

K8s SHIR Name:shir-demo 
Purview AccountName:   shirdemopurview 
Installation ID:       00000000-0000-0000-0000-000000000000 
Kubernetes Namespace:  shirdemopurview-shir-demo, compute-fleet-system(control-plane) 
K8s SHIR Version:      Unknown (Installation not completed) 
Status:                Initializing 
Healthiness:           Unhealthy

kubectl get pods --namespace shirdemopurview-shir-demo

NAME                                       READY   STATUS    RESTARTS   AGE 
batch-defaultspec-4pbwx                    0/1     Pending   0          10m 
batch-defaultspec-7t9bl                    0/1     Pending   0          10m 
dynamic-config-provider-778c686fdc-9mkjb   0/1     Pending   0          10m 
interactive-schemaprocess-bcrmf            0/1     Pending   0          10m 
interactive-schemaprocess-fn66x            0/1     Pending   0          10m 
logagent-ds-84jqn                          0/1     Pending   0          10m 
logagent-ds-k7vw8                          0/1     Pending   0          10m 
user-credential-proxy-579c899b64-d4q5v     0/1     Pending   0          10m 

Hay un par de posibles causas, que se enumeran a continuación:

Causa: conectividad con el punto de conexión de servicio de Microsoft Purview

Kubernetes no puede conectarse a MCR (mcr.microsoft.com). Este error suele deberse a la configuración de red o a un firewall.

Si ve el estado como "ImagePullBackOff", significa que Kubernetes no puede conectarse a MCR (mcr.microsoft.com) para descargar imágenes de Pod. Este error suele deberse a la configuración de red o a un firewall.

Captura de pantalla de la línea de comandos que muestra el estado ImagePullBackOff.

Resolución: conectividad con el punto de conexión de servicio de Microsoft Purview

Revise la topología de red del clúster de Kubernetes. Por ejemplo, para Azure Kubernetes, debe comprobar lo siguiente:

Nota:

Los pasos de solución de problemas necesarios serán diferentes para cada proveedor de Kubernetes. La ubicación de implementación y los detalles de red individuales variarán entre redes. Tendrá que revisar la conectividad a través de la red de su organización.

Revise la topología de red de la máquina host IRCTL. Consulte estas secciones de la página de solución de problemas general del entorno de ejecución de integración: Firewall, DNSServer, confianzas de certificados SSL y proxy http.

Causa: error de configuración del nodo de Kubernetes

Si el estado de algunos de los pods se bloquea en "Pending", use el comando describe pod para ver los detalles del pod.

Por ejemplo:

kubectl describe pod batch-defaultspec-4pbwx  --namespace shirdemopurview-shir-demo

Events: 
  Type     Reason            Age                From               Message 

  ----     ------            ----               ----               ------- 

  Warning  FailedScheduling  13m                default-scheduler  0/5 nodes are available: 1 Too many pods. preemption: 0/5 nodes are available: 5 No preemption victims found for incoming pod.. 

Los eventos del comando describe pueden indicar el motivo por el que el pod está pendiente. El error FailedScheduling con un mensaje detallado muestra que el número total de pods se supera el número máximo del pod en un nodo. No se puede programar un nuevo pod en el nodo seleccionado.

Nota:

Si no se ve ningún evento en la descripción, intente eliminar el pod manualmente por kubectl delete pod comando y realice un seguimiento del recién creado.

Resolución: error de configuración del nodo de Kubernetes

Reserve 20 número de pod para el entorno de ejecución de integración de kubernetes para admitir escenarios normales de uso y actualización.

Error de conectividad de Kubernetes con el punto de conexión de servicio de Microsoft Purview

Al intentar registrar el entorno de ejecución de integración autohospedado compatible con Kubernetes, el comando irctrl create podría ejecutarse durante mucho tiempo hasta que finalmente se agote el tiempo de espera. O bien, después de una instalación correcta, el estado del entorno de ejecución de integración autohospedado se muestra como incorrecto o sin conexión en el portal de Microsoft Purview.

Compruebe los registros mediante este comando: kubectl logs [podName] -n compute-fleet-system

Puede ver uno de estos errores:

  • “TraceMessage”:”HttpRequestFailed”, “Host”: “fleet.[REGION].compute.governance.azure.com”
  • Exception":"System.Net.Http.HttpRequestException: Connection refused fleet.[REGION].compute.governance.azure.com:443
  • System.AggregateException: Failed to acquire identity token from https://fleet. [REGION].compute.governance.azure.com:443

Causa

Kubernetes no puede conectarse al back-end del servicio. Este error suele deberse a la configuración de red o a un firewall.

Solución

Revise la topología de red del clúster de Kubernetes. Por ejemplo, para Azure Kubernetes, debe comprobar lo siguiente:

Nota:

Los pasos de solución de problemas necesarios serán diferentes para cada proveedor de Kubernetes. La ubicación de implementación y los detalles de red individuales variarán entre redes. Tendrá que revisar la conectividad a través de la red de su organización.

Revise la topología de red de la máquina host IRCTL. Consulte estas secciones de la página de solución de problemas general del entorno de ejecución de integración: Firewall, DNSServer, confianzas de certificados SSL y proxy http.

Anular el registro de un entorno de ejecución cuyo recurso local no está disponible

Si el entorno de ejecución de integración autohospedado local se elimina del clúster de Kubernetes por accidente, no puede eliminarlo mediante el irctl delete comando y no puede instalarlo en otro clúster de Kubernetes.

Causa

Un entorno de ejecución de integración autohospedado solo se puede instalar en un clúster de Kubernetes. Una vez registrado, no se puede instalar en otro clúster antes de que se anule el registro.

Solución

  1. Compruebe el estado local de integración autohospedado. Debería ver que no se encuentra ningún entorno de ejecución de integración autohospedado en ejecución.

    $./irctl describe
    
  2. Compruebe el entorno de ejecución de integración autohospedado en el portal de Microsoft Purview. Debería ver un estado Sin conexión . (Sin embargo, hay una latencia de 1 hora para la expiración del token).

  3. Seleccione Anular registro de la instalación junto al estado y confirme la operación.

  4. Una vez completada la anulación de registro, puede ver que el estado se muestra como No registrado.

  5. Seleccione el entorno de ejecución de integración y obtenga la clave de registro.

  6. Vuelva a instalar el entorno de ejecución de integración.

Pasos siguientes