Container Intelligence Service ofrece diagnóstico de pods para ayudarle a solucionar problemas. Este tema describe los elementos de diagnóstico y sus soluciones correspondientes.
Container Intelligence Service combina el conocimiento experto con modelos de IA para diagnosticar problemas e identificar sus causas raíz. El diagnóstico de pods incluye comprobaciones de diagnóstico y causas raíz.
Comprobaciones de diagnóstico: verifican los pods , los nodos, los componentes de nodo, los componentes del clúster y el administrador del controlador de ECS.
Causa raíz: proporciona la causa raíz identificada y recomendaciones de reparación. El diagnóstico de pods recopila información de los clústeres y los nodos para detectar anomalías. A partir de estos hallazgos, ejecuta diagnósticos detallados.
La función de diagnóstico ejecuta un programa de recopilación de datos en los nodos del clúster para obtener los resultados de las comprobaciones. La información recopilada incluye la versión del sistema, el estado de las cargas de trabajo, Docker, kubelet y los errores clave de los registros del sistema. Este programa no recopila información de su negocio ni datos confidenciales.
Escenarios anómalos compatibles
A continuación se muestran tablas con los escenarios anómalos típicos que cubren el diagnóstico de pods y el diagnóstico asistido por IA.
|
Categoría |
Escenario anómalo |
|
Diagnóstico de pods |
El programador no procesa el pod. |
|
El pod no se puede programar porque infringe las restricciones de programación. |
|
|
Kubelet no procesa el pod programado. |
|
|
El pod espera a que un volumen esté listo. |
|
|
El pod se desaloja. |
|
|
El pod se desaloja por falta de espacio en disco en el nodo. |
|
|
El pod se desaloja por falta de memoria en el nodo. |
|
|
El pod se desaloja por falta de inodos en el nodo. |
|
|
No se crea el contenedor sandbox del pod. |
|
|
El pod se queda atascado en el estado Terminating. |
|
|
Un contenedor del pod presenta un error OOM. |
|
|
Un contenedor del pod finaliza de forma inesperada. |
|
|
Un contenedor del pod está en el estado CrashLoopBackOff. |
|
|
Un contenedor del pod está en estado NotReady. |
|
|
El pod no logra extraer una imagen. |
|
|
Se agota el tiempo de espera del pod al extraer una imagen. |
|
|
Diagnóstico asistido por IA |
El estado del pod es anómalo. |
|
El pod experimenta un evento OOM. |
|
|
Un contenedor del pod finaliza de forma inesperada. |
|
|
El pod tiene un error de configuración de ConfigMap o Secret. |
|
|
El pod falla una comprobación de estado. |
|
|
El pod tiene un error de configuración de PersistentVolumeClaim (PVC). |
|
|
El pod no logra extraer una imagen. |
Proceso de diagnóstico
La función de diagnóstico de clústeres recopila información de los clústeres y los nodos para detectar anomalías. Después, ejecuta diagnósticos detallados. Esta función integra el expert mode y el AI mode para identificar la root cause de los problemas. Cada diagnóstico pasa por cuatro etapas para generar resultados: anomaly identification, data collection, diagnostic item check y root cause analysis.
Identificación de anomalías: recopila datos básicos, como el
node status, elpod statusy loscluster event streams, para analizar rápidamente las anomalías actuales.Data Collection: recopila datos contextuales según los resultados de la
anomaly identification. Por ejemplo, en un diagnóstico denode, esto incluye la información delnodeobtenida deKubernetes, la información correspondiente deECSy el estado de procesos comoDockerykubelet.Comprobación de elementos de diagnóstico: evalúa métricas clave con base en los datos recopilados. Por ejemplo, los
diagnostic itemsde un diagnóstico denodeincluyen el estado del procesoDockery el estado deECS. Losdiagnostic itemsespecíficos varían según el tipo de diagnóstico. Los resultados enumeran cada elemento comprobado junto con su descripción.Root Cause Analysis: en algunos casos, el sistema analiza automáticamente la
root causea partir de los datos recopilados y los resultados de ladiagnostic item check.
Resultados del diagnóstico
Existen dos tipos de resultados:
Root cause analysis results: incluyen las anomalías detectadas, la causa raíz identificada y sugerencias de corrección.
Diagnostic item check results: incluyen los resultados de cada elemento. Estos pueden revelar causas que el análisis de causa raíz pasa por alto.
Los elementos de diagnóstico varían según la configuración del clúster y reflejan su configuración real.
Categorías de diagnóstico
|
Categoría |
Descripción |
|
Diagnostica problemas comunes de pods, como el estado del pod, la extracción de imágenes y la conectividad de red. |
|
|
Diagnostica problemas comunes de nodos, como el estado del nodo, el estado de la red, los registros del kernel, el estado de los procesos principales y la disponibilidad de servicios. |
|
|
Diagnostica el estado de los componentes principales del nodo, incluidos los plugins de red y almacenamiento. |
|
|
Diagnostica problemas comunes del clúster, como la disponibilidad del servicio API, la disponibilidad de DNS y el estado de la puerta de enlace NAT. |
|
|
Diagnostica problemas comunes de las instancias ECS, como el estado, la conectividad de red, el sistema operativo y la E/S de disco. |
Pod
|
Parámetro |
Descripción |
Solución |
|
Recuento de reinicios del contenedor |
Comprueba cuántas veces se han reiniciado los contenedores del pod. |
Revise el estado y los registros del pod. Para obtener más información, consulte Pod troubleshooting. |
|
Descargas de imágenes de contenedor bloqueadas |
Comprueba si las descargas de imágenes de contenedor están bloqueadas para otros pods del mismo nodo. |
|
|
Validez del Secret de extracción de imágenes |
Comprueba si los Secrets que usa el pod para extraer una imagen son válidos. |
|
|
Conectividad del pod a los pods de CoreDNS |
Comprueba la conectividad desde el pod hacia los pods de CoreDNS. |
Compruebe la conectividad de red desde el pod hacia CoreDNS. |
|
Conectividad del pod al servicio CoreDNS |
Comprueba la conectividad desde el pod hacia el servicio CoreDNS. |
|
|
Conectividad del pod al servidor DNS de la red host |
Comprueba la conectividad desde el pod hacia el servidor DNS de la red host. |
Compruebe la conectividad desde el pod hacia el servidor DNS de la red host. |
|
Proceso del contenedor en estado D |
Comprueba si los procesos del contenedor del pod están en estado D (suspensión ininterrumpible). |
Un proceso de contenedor en estado D suele estar bloqueado por E/S de disco. Intente reiniciar la instancia ECS. Si el problema persiste, envíe un ticket. |
|
Estado de inicialización del pod |
Comprueba si el pod se inicializó correctamente. |
Revise el estado y los registros del pod. Para obtener más información, consulte Pod troubleshooting. |
|
Estado de programación del pod |
Comprueba si el pod se programó correctamente. |
Revise el estado y los registros del pod. Para obtener más información, consulte Pod troubleshooting. |
Nodo
Si el problema persiste después de aplicar la solución sugerida, recopile los registros del nodo y envíe un ticket.
|
Diagnostic item |
What it detects |
Fix |
|
Errores de conectividad con el servidor API de Kubernetes |
Indica si el nodo puede comunicarse con el servidor API del clúster. |
Revise la configuración del clúster. Consulte Troubleshoot ACK clusters. |
|
Bloqueos en el montaje de AUFS |
Indica si ocurren bloqueos en el montaje de AUFS en el nodo. |
|
|
Errores BufferIOError |
Indica si hay errores BufferIOError en el kernel del nodo. |
|
|
Fugas de cgroup |
Indica si ocurren fugas de cgroup. |
Las fugas de cgroup pueden interrumpir la recopilación de datos de monitoreo y provocar fallos al iniciar contenedores. Inicie sesión en el nodo y elimine los directorios de cgroup afectados. |
|
Estado anómalo del proceso chronyd |
Indica si el proceso chronyd se ejecuta con normalidad. Un proceso chronyd anómalo puede afectar la sincronización del reloj del sistema. |
Ejecute |
|
Extracción de imágenes mediante containerd |
Indica si el entorno de ejecución containerd puede extraer imágenes según lo esperado. |
Revise la configuración de red del nodo y los ajustes de imagen. |
|
Estado de containerd |
Indica si el entorno de ejecución containerd está en ejecución. |
|
|
Disponibilidad del pod de CoreDNS |
Indica si el nodo puede comunicarse con la dirección IP del pod de CoreDNS. |
Compruebe si el nodo puede acceder a la dirección IP del pod de CoreDNS. Consulte What do I do if the DNS query load is not balanced among CoreDNS pods?. |
|
Estado de las imágenes |
Indica si las imágenes están intactas. |
|
|
Estado overlay2 de las imágenes |
Indica si el sistema de archivos overlay2 de las imágenes está dañado. |
|
|
Hora del sistema |
Indica si el reloj del sistema es preciso. |
Ninguna. |
|
Inicio de contenedores Docker |
Indica si los contenedores Docker no logran iniciarse. |
|
|
Extracción de imágenes Docker |
Indica si el nodo puede extraer imágenes Docker según lo esperado. |
Revise la configuración de red del nodo y los ajustes de imagen. |
|
Estado de Docker |
Indica si el entorno de ejecución Docker está en ejecución. |
|
|
Tiempo de inicio de Docker |
El tiempo de inicio de Dockerd. |
Ninguna. |
|
Errores de bloqueo de Docker |
Indica si ocurren errores de bloqueo de Docker en el nodo. |
Ejecute |
|
Existencia de la instancia ECS |
Indica si existe la instancia ECS subyacente. |
Revise el estado de la instancia ECS. Consulte FAQ about nodes and node pools. |
|
Estado de la instancia ECS |
Indica si la instancia ECS está en buen estado. |
Revise el estado de la instancia ECS. Consulte FAQ about nodes and node pools. |
|
Errores Ext4FsError |
Indica si hay errores Ext4FsError en el kernel del nodo. |
|
|
Sistema de archivos del nodo de solo lectura |
Indica si el sistema de archivos del nodo pasó a ser de solo lectura. Esto suele indicar un fallo de disco y bloquea todas las operaciones de escritura, lo cual afecta las cargas de trabajo. |
Ejecute |
|
Hora del hardware |
Indica si el reloj de hardware y el reloj del sistema están sincronizados. Una diferencia mayor a 2 minutos puede causar errores en los componentes. |
Ejecute |
|
DNS del nodo |
Indica si los nombres de dominio se resuelven en el nodo. |
Consulte DNS troubleshooting. |
|
Errores oops del kernel |
Indica si hay errores oops en el kernel del nodo. |
|
|
Versiones del kernel |
Indica si la versión del kernel está obsoleta. Los kernels obsoletos pueden presentar problemas de estabilidad conocidos. |
Actualice el kernel del nodo. Consulte FAQ about nodes and node pools. |
|
Disponibilidad del DNS del clúster |
Indica si el nodo puede comunicarse con la IP del clúster del servicio kube-dns para usar el servicio DNS del clúster. |
Revise el estado y los registros de los pods de CoreDNS. Consulte DNS troubleshooting. |
|
Estado de kubelet |
Indica si kubelet se ejecuta con normalidad. |
Revise los registros de kubelet. Consulte Troubleshoot ACK clusters. |
|
Tiempo de inicio de kubelet |
El tiempo de inicio de kubelet. |
Ninguna. |
|
Uso de CPU |
Indica si el uso de CPU del nodo es excesivamente alto. |
Ninguna. |
|
Uso de memoria |
Indica si el uso de memoria del nodo es excesivamente alto. |
Ninguna. |
|
Fragmentación de memoria |
Indica si existe fragmentación de memoria en el nodo. |
Inicie sesión en el nodo y ejecute |
|
Memoria swap |
Indica si la memoria swap está habilitada. |
Inicie sesión en el nodo y deshabilite la memoria swap. |
|
Carga de controladores de dispositivos de red |
Indica si los controladores VirtIO de los dispositivos de red se cargaron correctamente. |
|
|
Uso de CPU del nodo excesivamente alto |
Indica si el uso de CPU fue alto durante la última semana. Si se programan muchos pods en un nodo con uso constante de CPU elevado, la contención de recursos puede provocar interrupciones del servicio. |
Configure adecuadamente las solicitudes y los límites de recursos para evitar sobrecargar el nodo. |
|
Existencia de IP privada del nodo |
Indica si el nodo tiene asignada una dirección IP privada. |
Quite el nodo del clúster y vuelva a agregarlo. No libere la instancia ECS al quitarlo. Consulte Remove a node y Add existing ECS instances. |
|
Uso de memoria del nodo excesivamente alto |
Indica si el uso de memoria fue alto durante la última semana. Un uso elevado de memoria combinado con una programación intensiva de pods puede causar errores de falta de memoria (OOM) e interrupciones del servicio. |
Configure adecuadamente las solicitudes y los límites de recursos para evitar sobrecargar el nodo. |
|
Estado del nodo |
Indica si el nodo está en estado Ready. |
Reinicie el nodo. Consulte FAQ about nodes and node pools. |
|
Programabilidad del nodo |
Indica si el nodo está marcado como no programable. |
Revise la configuración de programación del nodo. Consulte Node draining and scheduling status. |
|
Errores OOM |
Indica si ocurren errores de falta de memoria (OOM) en el nodo. |
|
|
Comprobación del entorno de ejecución |
Indica si el entorno de ejecución de contenedores del nodo coincide con el configurado en el clúster. |
Consulte Can I change the container runtime of a cluster from containerd to Docker?. |
|
Versiones de SO obsoletas |
Indica si la versión del SO del nodo tiene errores o problemas de estabilidad conocidos. Las versiones de SO obsoletas pueden hacer que los entornos de ejecución Docker y containerd funcionen mal. |
Actualice la versión del SO. |
|
Acceso a Internet |
Indica si el nodo puede acceder a Internet. |
Compruebe si SNAT está habilitado para el clúster. Consulte Enable an existing ACK cluster to access the internet. |
|
Errores RCUStallError |
Indica si hay errores RCUStallError en el kernel del nodo. |
|
|
Versiones del SO |
La versión del SO que usa el nodo. Las versiones de SO obsoletas pueden impedir que el clúster funcione con normalidad. |
Ninguna. |
|
Fugas de procesos runc |
Indica si ocurren fugas de procesos runc. Estas fugas pueden hacer que el nodo entre periódicamente en el estado NotReady. |
Identifique los procesos runc con fuga y finalícelos manualmente. |
|
Errores SoftLockupError |
Indica si hay errores SoftLockupError en el kernel del nodo. |
|
|
Bloqueos de systemd |
Indica si ocurren bloqueos de systemd. |
Inicie sesión en el nodo y ejecute |
|
Versiones de systemd obsoletas |
Indica si la versión de systemd tiene errores conocidos. Las versiones obsoletas pueden hacer que Docker y containerd funcionen mal. |
Actualice la versión de systemd. Consulte systemd. |
|
Procesos bloqueados |
Indica si existen procesos bloqueados en el nodo. |
|
|
Errores unregister_netdevice |
Indica si hay errores unregister_netdevice en el kernel del nodo. |
NodeComponent
|
Diagnostic item |
What it detects |
Fix |
|
Estado del componente CNI |
Indica si el plugin Container Network Interface (CNI) se ejecuta según lo esperado. |
Revise el estado del componente de red del clúster. Consulte FAQ about network management. |
|
Estado del componente CSI |
Indica si el plugin Container Storage Interface (CSI) se ejecuta según lo esperado. |
Revise el estado del componente de almacenamiento del clúster. Consulte FAQ about CSI. |
ClusterComponent
|
Diagnostic item |
What it detects |
Fix |
|
Versión de aliyun-acr-credential-helper |
Indica si la versión del componente aliyun-acr-credential-helper está obsoleta. |
Actualice aliyun-acr-credential-helper. Consulte Use the aliyun-acr-credential-helper component to pull images without using a secret. |
|
Disponibilidad del servicio API |
Indica si el servicio API del clúster está disponible. |
Ejecute |
|
Bloques CIDR de pods disponibles insuficientes |
Indica si quedan menos de cinco bloques CIDR de pods en un clúster Flannel. Cada nodo usa un bloque, por lo que, al agotarse, los nodos nuevos no funcionan correctamente. |
|
|
Endpoints de CoreDNS |
El número de endpoints activos de CoreDNS. |
Revise el estado y los registros de los pods de CoreDNS. Consulte DNS troubleshooting. |
|
Direcciones IP del clúster de CoreDNS |
Indica si el servicio DNS del clúster tiene una ClusterIP asignada. Sin ella, el DNS del clúster falla y las cargas de trabajo se ven afectadas. |
Revise el estado y los registros de los pods de CoreDNS. Consulte DNS troubleshooting. |
|
Estado de la puerta de enlace NAT |
Indica si la puerta de enlace NAT del clúster funciona con normalidad. |
Inicie sesión en la consola de NAT Gateway y compruebe si la puerta de enlace está bloqueada por pagos pendientes. |
|
Tasa excesivamente alta de caídas de conexiones simultáneas en la puerta de enlace NAT |
Indica si la puerta de enlace NAT descarta una tasa anormalmente alta de conexiones simultáneas. |
Actualice la puerta de enlace NAT. Consulte FAQ about upgrading standard Internet NAT gateways to enhanced Internet NAT gateways. |
ECSControllerManager
Elemento de diagnóstico | Qué detecta | Solución |
Pagos vencidos relacionados con los componentes de la instancia ECS | Si el disco o el ancho de banda de red de la instancia está restringido por pagos vencidos. | Recargue saldo en su cuenta para restaurar el acceso. |
Pagos vencidos relacionados con la instancia ECS | Si la instancia ECS pay-as-you-go se suspendió por pagos vencidos. | Recargue saldo en su cuenta y luego reinicie la instancia. |
Estado de la NIC de la instancia ECS | Si la tarjeta de interfaz de red (NIC) de la instancia funciona correctamente. | Reinicie la instancia. |
Estado de inicio de la instancia ECS | Si la instancia arranca de forma normal. | Si el arranque falla, cree una nueva instancia. |
Estado del sistema de administración de backend de la instancia ECS | Si el sistema de administración de backend de la instancia opera con normalidad. | Reinicie la instancia. |
Estado de las CPU de la instancia ECS | Si existe contención de CPU o errores de vinculación de CPU en la capa subyacente de la instancia. | La contención de CPU impide que la instancia obtenga recursos de CPU. Reinicie la instancia. |
Split locks en las CPU de la instancia ECS | Si ocurren split locks en las CPU de la instancia ECS. | Ocurren split locks en las CPU de la instancia ECS. |
Estado de la mitigación DDoS de la instancia ECS | Si la dirección IP pública de la instancia recibe un ataque DDoS. | Adquiera un servicio anti-DDoS. Consulte Comparison of Alibaba Cloud Anti-DDoS solutions. |
Capacidades limitadas de lectura y escritura del disco en la nube | Si el rendimiento de lectura y escritura del disco en la nube está limitado. | Reduzca la frecuencia de lectura y escritura del disco o actualice a un tipo de disco en la nube de mayor rendimiento. Para más información sobre las métricas de rendimiento de lectura y escritura de los discos en la nube, consulte Block storage performance. |
Carga del disco de la instancia ECS | Si el disco en la nube se puede acoplar cuando inicia la instancia. | Detenga la instancia e iníciela de nuevo. |
Vencimiento de la instancia ECS | Si la instancia de suscripción ya venció. | Renueve la instancia. Consulte Renew a subscription instance. |
Fallos del sistema operativo de la instancia ECS | Si ocurrieron fallos del sistema operativo en las últimas 48 horas. | Revise los registros del sistema para identificar la causa. Consulte View system logs and screenshots. |
Estado del host de la instancia ECS | Si el servidor físico que aloja la instancia presenta fallas. | Las fallas del host degradan el rendimiento de la instancia. Reinicie la instancia. |
Carga de la imagen de la instancia ECS | Si la instancia carga su imagen durante la inicialización. | Reinicie la instancia. |
Bloqueos de E/S en el disco de la instancia ECS | Si ocurren bloqueos de E/S en el disco del sistema. | Compruebe las métricas del disco. Consulte View the monitoring data of a cloud disk. Para Alibaba Cloud Linux 2, consulte Detect I/O hangs of file systems and block layers. |
Límite máximo de ancho de banda de la instancia ECS | Si el ancho de banda total de la instancia alcanzó el máximo permitido para su tipo de instancia. | Actualice a un tipo de instancia con mayor ancho de banda. Consulte Overview of instance configuration changes. |
Límite máximo del ancho de banda ráfaga de la instancia ECS | Si el ancho de banda ráfaga de la instancia superó el máximo permitido para su tipo de instancia. | Actualice a un tipo de instancia con mayor ancho de banda. Consulte Overview of instance configuration changes. |
Carga de la NIC de la instancia ECS | Si la NIC se carga correctamente en la instancia. | Si la NIC no se carga, la instancia pierde conectividad de red. Reinicie la instancia. |
Establecimiento de sesiones de la NIC en la instancia ECS | Si se establecen sesiones hacia la NIC. | Si la NIC no establece sesiones o alcanzó su límite, se afecta la conectividad o el rendimiento de la red. Reinicie la instancia. |
Operaciones clave en la instancia ECS | Si las operaciones recientes en la instancia (inicio, detención o actualización) finalizaron correctamente. | Intente de nuevo la operación que finalizó con errores. |
Pérdida de paquetes en la NIC de la instancia ECS | Si ocurre pérdida de paquetes entrantes o salientes en la NIC. | Reinicie la instancia. |
Degradación del rendimiento de la instancia ECS | Si el rendimiento de la instancia se degradó temporalmente por problemas de software o hardware. | Consulte el historial de eventos o los registros del sistema de la instancia para identificar la causa. Consulte View historical system events. |
Rendimiento comprometido de la instancia ECS | Si el rendimiento de la instancia disminuyó. | La instancia ECS solo ofrece el rendimiento base porque no hay suficientes créditos de CPU disponibles. |
Cambio de tamaño del disco de la instancia ECS | Si se cambió el tamaño del disco, pero el sistema operativo aún no expandió el sistema de archivos. | El sistema operativo no ajustó el tamaño del sistema de archivos después de modificar el disco, por lo que el espacio adicional no está disponible. Vuelva a cambiar el tamaño del disco. |
Solicitud de recursos de la instancia ECS | Si hay suficientes recursos físicos de CPU y memoria disponibles para la instancia. | La falta de recursos físicos impide iniciar la instancia. Espere unos minutos e intente iniciarla de nuevo. Si el problema persiste, cree una instancia en otra región o zona. |
Estado del sistema operativo de la instancia ECS | Si ocurrieron kernel panics, errores OOM o fallas internas en el sistema operativo de la instancia. | Estas fallas suelen deberse a una configuración incorrecta de la instancia o a programas del usuario. Reinicie la instancia. |
Estado de virtualización de la instancia ECS | Si existen excepciones en la capa de virtualización subyacente. | Estas excepciones provocan que la instancia deje de responder o se suspenda de forma inesperada. Reinicie la instancia. |