Estoy usando la distribución K3s de Kubernetes que se implementa en una instancia Spot EC2 en AWS.
He programado un determinado trabajo de procesamiento y, a veces, este trabajo se cancela y pasa al estado "Desconocido" (el código del trabajo finaliza de manera anormal)
kubectl describe pod <pod_name>muestra esto:
State: Terminated Reason: Unknown Exit Code: 255 Started: Wed, 06 Jan 2021 21:13:29 +0000 Finished: Wed, 06 Jan 2021 23:33:46 +0000Los registros de AWS muestran que el consumo de CPU era del 99 % justo antes del bloqueo. De varias fuentes ( 1 , 2 , 3 ) vi que esto puede ser el motivo de un bloqueo del nodo, pero no lo vi. ¿Cuál puede ser el motivo?
¡Gracias!
El estado real del trabajo es Terminated con el motivo Unknown . Para depurar esta situación, debe obtener registros relevantes de los pods creados por su trabajo.
Cuando se completa un trabajo , no se crean más pods, pero los pods tampoco se eliminan. Conservarlos le permite seguir viendo los registros de los pods completados para comprobar si hay errores, advertencias u otros resultados de diagnóstico.
Para hacerlo, ejecute kubectl describe job $JOB para ver los nombres de los Pods en la sección Eventos y luego ejecute kubectl logs $POD .
Si eso no es suficiente, puede probar diferentes formas de depurar pods , como:
Depuración con container exec
Depuración con un contenedor de depuración efímera, o
Depuración a través de un shell en el nodo
Los métodos anteriores le darán más información sobre las razones reales detrás de la terminación del trabajo.