TL;RD
Tengo problemas con un clúster de AWS EKS que ejecuta módulos de aplicaciones sobre nodos sin servidor de Fargate.
Aquí los pasos para reproducirlo:
defaultdefaultpython3 -c "bytearray(512000000)"Este es el manifiesto del pod que estoy usando, pero puede ser cualquier pod:
apiVersion: v1 kind: Pod metadata: name: root-shell spec: containers: - command: ["sh", "-c"] args: - sleep infinity image: docker.io/library/alpine # Make two files and pick a different name for the second pod name: root-shell resources: limits: memory: 64Mi cpu: 50mDescripción larga
Mi problema apareció esta semana cuando uno de los pods perdió la configuración de red por completo. Después de un poco de depuración, me di cuenta de que el pod estaba usando más memoria de la que se le había asignado. Esto provocó que k8s OOM lo matara y reiniciara el pod. Después de dos o tres reinicios, el pod perdió la configuración de red. nslookup u otras solicitudes al exterior no funcionaron, mientras que todos los demás pods en el clúster funcionaron bien. Noté que hacer ping al nodo Fargate también dejó de funcionar, por lo que asumo que podría haber algo mal con el reinicio del módulo en el mismo nodo Fargate. Si elimino manualmente el pod, k8s volverá a programar un nuevo pod en un nuevo nodo Fargate donde las cosas funcionan como se supone.
¡cualquier pista es bienvenida!