La consola de ACK incluye una función de diagnóstico de Ingress que revisa los problemas comunes de configuración y muestra guías prácticas para solucionarlos. Esta página enumera cada elemento de diagnóstico, qué verifica y cómo corregirlo.
Al ejecutar el diagnóstico, ACK despliega un programa de recolección de datos en cada nodo del clúster. Este programa recopila la versión del sistema, el estado de carga, el estado de Docker y kubelet, así como mensajes de error clave de los registros del sistema. No se recopilan datos de negocio ni información sensible.
Los elementos de diagnóstico varían según la configuración del clúster. Los elementos que se muestran en la página de diagnóstico reflejan las verificaciones reales disponibles para su clúster.
Funcionamiento del diagnóstico de Ingress
El diagnóstico se ejecuta en tres capas, en el siguiente orden:
Ingress: valida las definiciones y anotaciones de los recursos Ingress.
Complemento: revisa los parámetros de inicio del controlador de Ingress, el Service asociado y el estado de los pods.
SLB: inspecciona la instancia de Server Load Balancer (SLB) que utiliza el controlador de Ingress.
Comience por la capa Ingress y continúe hacia abajo. La mayoría de los problemas se detectan en las dos primeras capas. Las verificaciones de SLB aplican cuando el tráfico no logra llegar al clúster.
Elementos de diagnóstico
Ingress
|
Elemento de diagnóstico |
Qué verifica |
Cómo corregirlo |
|
Verificación de Ingress |
Si existe el Ingress especificado. |
Compruebe que exista una regla de Ingress para la URL. Verifique si la ruta usa una expresión regular y si la anotación |
|
Verificación de |
Si está presente la anotación obsoleta |
Revise la versión de su controlador de Ingress. Elimine la anotación o reemplácela por una alternativa compatible. |
|
Verificación de |
Si está presente la anotación obsoleta |
Revise la versión de su controlador de Ingress. Elimine la anotación o reemplácela por una alternativa compatible. |
|
Verificación de |
Si está presente la anotación obsoleta |
Revise la versión de su controlador de Ingress. Elimine la anotación o reemplácela por una alternativa compatible. |
|
Verificación de |
Si está presente la anotación obsoleta |
Revise la versión de su controlador de Ingress. Elimine la anotación o reemplácela por una alternativa compatible. |
|
Verificación de |
Si está presente la anotación obsoleta |
Revise la versión de su controlador de Ingress. Elimine la anotación o reemplácela por una alternativa compatible. |
|
Verificación de |
Si el Ingress utiliza anotaciones que comienzan con |
Cambie a anotaciones compatibles con el controlador NGINX Ingress de código abierto. Consulte Gestión de NGINX Ingress o NGINX Ingress Controller documentation. |
|
Estado de canary |
Si se ha establecido |
Agregue la anotación al Ingress: |
Complemento
|
Elemento de diagnóstico |
Qué verifica |
Cómo corregirlo |
|
Porcentaje de preparación de pods de Ingress |
El porcentaje de pods de Ingress en estado Ready respecto a las réplicas definidas en el Deployment. Un valor inferior al 100% indica que algunos pods no pudieron iniciarse o fallaron en su verificación de estado. |
Revise los registros de errores de los pods para identificar cuáles están fallando y solucione el problema subyacente. Consulte NGINX Ingress controller troubleshooting. |
|
Verificación de dirección IP de Ingress |
Si el controlador de Ingress asignó una dirección IP al Ingress. |
Si no hay una dirección IP asignada, compruebe que se haga referencia a la IngressClass correcta y que el controlador de Ingress se esté ejecutando con normalidad. |
|
Verificación de pod líder |
Si se eligió un pod líder. La ausencia de un pod líder significa que el controlador no procesa reglas de Ingress; esto puede ocurrir si el tiempo de inicio del pod es demasiado corto o si los permisos del controlador de Ingress no están configurados adecuadamente. |
Revise los registros de errores de los pods de Ingress y corrija cualquier error que aparezca. Consulte NGINX Ingress controller troubleshooting. |
|
Anotaciones de NGINX Ingress |
Si se utilizan anotaciones que comienzan con |
Reemplace las anotaciones |
|
|
Si se usa |
Actualice su Ingress para usar grupos de captura con |
|
Recuento de servicios canary |
Si |
Reduzca a dos el número de Services en |
|
Nombre de Ingress |
Los nombres de las reglas de Ingress coincidentes. |
Solo informativo. No se requiere ninguna acción. |
|
Registros de errores de pods |
Si los pods del controlador de Ingress generan registros de errores. Estos registros indican que es posible que el controlador no esté procesando las reglas correctamente. |
Identifique la causa del error en los registros y corríjala. Consulte NGINX Ingress controller troubleshooting. |
|
Grupos de captura de ruta de |
Si las rutas que usan |
Agregue grupos de captura a las rutas afectadas. Consulte Configure routing rules to redirect traffic from specific URLs. |
|
Múltiples destinos en |
Si |
Configure exactamente dos Services en |
|
Verificación de Service de Ingress |
Si existe el Service al que se hace referencia en los parámetros de inicio del controlador de Ingress. La ausencia de un Service impide que el controlador se inicie. |
Busque el nombre del Service eliminado en los parámetros de inicio del Deployment y restablézcalo. Consulte High-risk operations related to networks and SLB instances. |
|
Verificación de endpoint de Service de Ingress |
Si el Service asociado al Ingress tiene al menos un endpoint. Sin un endpoint, la instancia de SLB no puede enrutar tráfico hacia el controlador de Ingress. |
Compruebe que el selector de etiquetas del Service coincida con las etiquetas de los pods del controlador de Ingress. |
|
Eventos de Service de Ingress |
Si el Service asociado al Ingress tiene eventos de advertencia (Warning) o error (Error). Por lo general, estos indican errores de configuración de SLB. |
Revise los eventos del Service para identificar la causa raíz y solucione el problema. Consulte Service errors and solutions. |
|
Directiva de tráfico externo de Service de Ingress |
La directiva de tráfico externo para el Service de Ingress. El valor predeterminado es |
Mantenga la directiva como |
|
Dirección IP externa de Service de Ingress |
Si el administrador de controladores de nube asignó una dirección IP externa al Service de Ingress. Sin una dirección IP, no es posible acceder al Ingress desde Internet. |
Compruebe el estado del Service, el estado del administrador de controladores de nube y las cuotas de SLB. La mayoría de los problemas se manifiestan como eventos del Service. |
|
Tipo de Service de Ingress |
Si el Service referenciado en los parámetros de inicio del controlador de Ingress es de tipo |
Cambie el tipo de Service a |
|
Verificación de |
Si se utiliza el parámetro de inicio obsoleto |
Revise la versión de su controlador de Ingress y elimine el parámetro de inicio del Deployment. |
|
Verificación de |
Si se utiliza el parámetro de inicio obsoleto |
Revise la versión de su controlador de Ingress y elimine el parámetro de inicio del Deployment. |
SLB
|
Elemento de diagnóstico |
Qué verifica |
Cómo corregirlo |
|
Instancia de SLB |
Si existe la instancia de SLB utilizada por el controlador de Ingress. |
Compruebe si el Service del controlador de Ingress tiene eventos anómalos y si la instancia de SLB aparece en la consola de SLB. Si la instancia se eliminó accidentalmente, vuelva a crear el Service. Consulte What do I do if I accidentally delete an SLB instance? |
|
Estado de servidores backend de SLB |
Si todos los servidores backend de la instancia de SLB están en buen estado. |
Si los servidores backend no están en buen estado, busque eventos anómalos en el Service del controlador de Ingress y verifique que los pods del controlador no estén sobrecargados. Consulte NGINX Ingress controller troubleshooting. |
|
ID de SLB |
El ID de la instancia de SLB. |
Solo informativo. No se requiere ninguna acción. |
|
Recuento de conexiones de SLB |
Si el número de conexiones activas en la instancia de SLB superó el 80% de su límite durante los últimos tres días. Al alcanzar el límite, se bloquean las nuevas conexiones de clientes. |
Actualice la instancia de SLB a una especificación superior. Consulte Use an existing SLB instance. |
|
Tasa de nuevas conexiones de SLB |
Si la tasa de nuevas conexiones en la instancia de SLB superó el 80% de su límite durante los últimos tres días. Al alcanzar el límite, se impide que los clientes establezcan nuevas conexiones durante un periodo de tiempo. |
Actualice la instancia de SLB a una especificación superior. Consulte Use an existing SLB instance. |
|
QPS de SLB |
Si las consultas por segundo (QPS) en la instancia de SLB superaron el 80% de su límite durante los últimos tres días. Al alcanzar el límite de QPS, se bloquean las conexiones de los clientes. |
Actualice la instancia de SLB a una especificación superior. Consulte Use an existing SLB instance. |
|
Host TLS y SecretName |
Si los campos |
Establezca tanto |
|
Estado de verificación de salud de SLB |
Si la instancia de SLB tuvo verificaciones de salud fallidas en los últimos tres días. Los fallos indican que los pods del controlador podrían estar sobrecargados o que existen errores en la configuración de SLB. |
Busque eventos anómalos en el Service del controlador de Ingress y verifique que los pods no estén sobrecargados. Consulte NGINX Ingress controller troubleshooting. |