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:
- 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 .
- Use el
./irctl log upload
comando . - Cuando se carguen los registros, mantenga un registro del identificador de carga de registro que se imprime.
- 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 download
comando .
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
- Asegúrese de que el archivo de contexto de Kubernetes se encuentra en la ruta de acceso correcta.
- 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.
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:
- Conectividad con el punto de conexión de servicio de Microsoft Purview
- Error de configuración del nodo de Kubernetes
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.
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
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
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).
Seleccione Anular registro de la instalación junto al estado y confirme la operación.
Una vez completada la anulación de registro, puede ver que el estado se muestra como No registrado.
Seleccione el entorno de ejecución de integración y obtenga la clave de registro.