Estoy usando AWS EKS (servicio Kubernetes administrado) y Fargate (nodos administrados) para implementar un pod que ejecuta un servicio React de nodejs en el puerto 5000. El pod cambia del estado "En ejecución" al estado "Terminando" de forma continua inmediatamente después de la implementación en Fargate. Eventualmente, se decide por "Correr". Otros pods funcionan bien en Fargate.
No puedo ver los registros debido a que Kubernetes informa net/http: TLS handshake timeout .
El servicio está liderado por AWS Application Load Balancer (ALB). En el grupo de destino, puedo ver registros y cancelaciones continuos de la IP del pod/nodo.
¿Cómo puedo solucionar esto más a fondo?
Algunas formas de solucionar problemas:
kubectl describe deployment <deployment-name> 👈 check for events kubectl logs <pod-id> kubectl describe pod <pod-id> 👈 check for eventsLa idea aquí es solucionar problemas con las herramientas de Kubernetes.
Parece que el servicio React estaba tardando mucho en iniciarse debido a la asignación de cómputo de 0,25 vCPU y 0,5 GB, y finalmente falló después de 10 minutos. Establecemos las siguientes solicitudes y límites de recursos en el manifiesto de implementación. El pod arranca en un par de minutos sin problemas.
resources: limits: cpu: 1000m memory: 2000Mi requests: cpu: 800m memory: 1500Mi