Mi equipo tiene un requisito especial para eliminar todos los registros de pod cada X horas. Esto se debe a que los registros contienen información confidencial: los leemos y procesamos con fluentbit, pero es un problema que los registros sigan ahí después. No pude encontrar ninguna forma normal de rotarlos por tiempo, solo recomendaciones sobre el controlador de registro del demonio docker que rota según el tamaño del archivo. ¿Es posible crear un cronjob k8s para hacer algo como "echo ''> /path/to/logfile" por pod/container? Si es así, ¿cómo?
Agradecería cualquier ayuda aquí. ¡Gracias!
Kubernetes no proporciona una rotación de registros integrada, pero esta funcionalidad está disponible en muchas herramientas.
Según la arquitectura de registro de Kubernetes :
Una consideración importante en el registro a nivel de nodo es implementar la rotación de registros, de modo que los registros no consuman todo el almacenamiento disponible en el nodo. Kubernetes no es responsable de rotar los registros, sino que una herramienta de implementación debe configurar una solución para abordar eso. Por ejemplo, en los clústeres de Kubernetes, implementados por el script kube-up.sh, hay una herramienta logrotate configurada para ejecutarse cada hora. También puede configurar un tiempo de ejecución de contenedor para rotar los registros de una aplicación automáticamente.
A continuación se muestran algunos ejemplos de cómo se puede implementar la rotación de registros:
Puedes usarlos como guía.