Tengo problemas porque mis contenedores producen demasiados registros. Aparentemente, esto hace que se agote el espacio reservado y desaloje los pods con el mensaje The node was low on resource: ephemeral-storage. Container XYZ was using 1412Ki, which exceeds its request of 0.
¿Hay alguna forma de decirle a Kubernetes que se olvide de los registros antiguos? Estaría perfectamente bien si dijera "10 MB de registros por pod son más que suficientes", pero no puedo encontrar ningún lugar para especificar tal cosa.
No me importa mucho si se trata de un límite de tiempo o de tamaño, siempre que pueda mantener vivas mis cápsulas. Esto es para un entorno de desarrollo, por lo que la retención de registros no es crucial en absoluto.
Supongo que el motor del contenedor es Docker, en cuyo caso, puede configurar Docker para limitar los registros escritos por su (s) contenedor (es) de pod (s).
https://docs.docker.com/config/containers/logging/configure/
Esta es una respuesta de Community Wiki, así que siéntase libre de editarla y agregar cualquier detalle adicional que considere importante.
Como William ya respondió esta pregunta, solo agregaré algunos detalles para que sea más completo.
Eche un vistazo a Logging Architecture en los documentos oficiales de kubernetes. Como puede leer aquí, "Kubernetes actualmente no es responsable de rotar los registros, sino que una herramienta de implementación debería configurar una solución para abordar eso".
Si el tiempo de ejecución de su contenedor es docker, puede configurar su política de rotación de registros editando/creando:
/etc/docker/daemon.json(en host Linux)
o:
C:\ProgramData\docker\config\daemon.json(en host de Windows)
que puede tener el siguiente aspecto:
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3", "labels": "production_status", "env": "os,customer" } }