如何清理ingress-nginx-controller pod生成的访问日志和错误日志?
在部署完ingress-nginx-controller服务之后,如何来清理应用生成的access.log和error.log?
经过几天的摸索,存在以下的2种情况:
(1)ingress-nginx-controller默认的将日志写入到标准输出和标准错误输出
- 通过主机上的清理脚本
- logrotate来清理
- 配置docker.json中log-options选项设置日志策略 (建议)
(2)ingress-nginx-controller默认的将日志写到其他的目录中(非标准输出和错误输出)
- volume挂载到宿主机,然后脚本或宿主机的logrotate来清理
- volume挂载到宿主机,增加logrotate容器来进行处理
- 将日志挂载到共享PV上,增加cronjob类型的logrotate容器来进行处理
当然,默认没有将日志写入到标准输出和标准错误输出的,可以修改nginx.conf或者configmap文件,达到这个目的。