最近看到一篇公众号讲了nginx-ingress-controller的应用。下面有人评论如何做日志持久化,刚好工作上遇到该问题,整理一个方案,仅供参考。nginx-ingress-controller的日志包括三个部分:。controller的日志需要做定时清理。输出路径我们可以与controller一致,便于查找。配置如:官方提供的模板中,nginx-ingress-controller默认都是以33这个用户登录启动容器的,因此挂载hostpath路径时存在权限问题。initcontainer必须在containers中的容器运行前运行完毕并成功退出。将脚本打包成dockerimage, 放在nginx-ingress-controller的deploy yaml中,作为initcontainers。一个deploy yaml如下:最后,有的人建议将initcontainer去掉,改为基于原有的nginx-ingress-controller镜像加一层layer,将配置路径权限的脚本放在该层执行。个人认为这种方法既不美观,也不方便。

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决

nginx-ingress-controller日志持久化方案的解决