Ingress-nginx日志切割与轮循方案

一, 基础镜像
由于我们已解决了权限的问题,所以不需要initContainer来更改权限。日志切割和轮循,基于镜像:hub.c.163.com/combk8s/logrotate:v1.1
从history看,这个镜像也只是在alpine之上,安装了bash,logrotate软件,然后,拷贝并启动了start.sh文件。

二, Dockerfile
为了不与k8s绑死,我们不使用configmap作配置文件,而是使用使用环境变量生成nginx.log配置。
Dockerfile

nginx.log模板

start.sh重写

脚本使用传入的环境变量,替换掉nginx.log模板文件中的对应变量。没有环境变量时,也提供必要默认值。
暂时计划是每天凌晨产生备份,只保存最近两个备份。

三, Yaml集成
在ingress应用的yaml文件里,植入一个新的container即可。

四,验证
kubectl logs -f pod可以看到crontab输出

五, logrotate和crontab联动细节想像
start.sh中写入/etc/crontabs/root文件中的数据:
0 */2 * * * /usr/sbin/logrotate -v /etc/logrotate.conf
表示logrotae命令每2小时执行一次,它会将nginx.log配置中的周期(daily)写入/etc/periodic/daily/logrotate文件(如果设置了size,会无视 daily, weekly,monthly 指令,所以size的优先级比较高。)。
/etc/periodic/daily/logrotate中的动态生成的内容如下:

此文件会被/etc/crontabs/root中的如下行触发:
0 2 * * * run-parts /etc/periodic/daily
于是,这时就会在每天凌晨2点,生成日志切割和归档文件。
神奇~

六,Logrotate参数
compress/nocompress---gzip压缩/不压缩
copytruncate/nocopytruncate---用于还在打开中的日志,把当前日志备份并截断/备份但是不截断
create mode ower group/nocreate---指定文件模式创建新的日志文件/不创建新的日志文件
delaycompress/nodelaycompress ---和compress一起,日志到下一次转存是压缩/转存同时压缩
ifempty/notifempty ---空文件也转存,默认/空文件不转存
mail address / nomail--- 日志发送到指定的mail地址
olddir directory/noolddir--- 转存后日后i文件放入指定目录,必须和当前日志文件同一个文件系统
prerotate/endscript--- 在执行转存之前需执行的命令,关键字必须单独占行
postroutate/endscript ---在执行转存之后需执行的命令,关键字必须单独占行
daily ---周期每天
weekly ---周期每周
monthly ---周期每月
rotate count ---转存次数,0表示不备份,5表示保留5个备份
size size ---当指定文件达到指定大小时才转存
tabootext[+] list ---不转存指定的扩展名,默认扩展名含.rpm-oring
error address ---错误信息发送到指定的mail地址
missingok ---如果日志文件丢失,进入到下一个不发出错误消息
sharedscripts ---可以写多个日志文件,同时执行一个脚本,搭配脚本关键字
include ---包含文件
dateext ---为日志打上日期标签

七,参考URL

https://my.oschina.net/u/4605142/blog/4521708
https://www.jb51.net/article/183828.htm

  • Ingress-nginx鏃ュ織鍒囧壊涓庤疆寰柟妗
    绛旓細copytruncate/nocopytruncate---鐢ㄤ簬杩樺湪鎵撳紑涓殑鏃ュ織锛屾妸褰撳墠鏃ュ織澶囦唤骞舵埅鏂/澶囦唤浣嗘槸涓嶆埅鏂 create mode ower group/nocreate---鎸囧畾鏂囦欢妯″紡鍒涘缓鏂扮殑鏃ュ織鏂囦欢/涓嶅垱寤烘柊鐨勬棩蹇楁枃浠 delaycompress/nodelaycompress ---鍜宑ompress涓璧凤紝鏃ュ織鍒颁笅涓娆¤浆瀛樻槸鍘嬬缉/杞瓨鍚屾椂鍘嬬缉 ifempty/notifempty ---绌烘枃...
  • kubernetes甯歌鏁呴殰
    绛旓細Ingress-nginx椤圭洰鏈変竴涓狵ubectl鐨勫畼鏂规彃浠躲 浣犲彲浠ョ敤kubectl ingress-nginx鏉: 妫鏌鏃ュ織,鍚庣,璇佷功绛夈 杩炴帴鍒癷ngress 妫鏌ュ綋鍓嶉厤缃 浣犲簲璇ュ皾璇曠殑涓変釜鍛戒护鏄: kubectl ingress-nginx lint,瀹冧細妫鏌 nginx.conf kubectl ingress-nginx backend,浠ユ鏌ュ悗绔(绫讳技浜巏ubectl describe ingress ) kubectl ingress-nginx logs,...
  • ingressnginx
    绛旓細Ingress Nginx 鏄 Kubernetes 涓殑涓涓牳蹇冪粍浠讹紝瀹冧綔涓虹綉缁滃叆鍙f帶鍒跺櫒锛岃礋璐e鐞嗗閮ㄨ闂祦閲忋傚畠灏嗗閮ㄨ姹傝矾鐢卞埌闆嗙兢鍐呯殑鏈嶅姟涓娿侷ngress Nginx 鎻愪緵浜嗚礋杞藉潎琛°丼SL 缁堟鍜岄潤鎬佸唴瀹规湇鍔$瓑鍔熻兘锛屼粠鑰岀畝鍖栦簡寰湇鍔′箣闂寸殑娴侀噺绠$悊銆傛澶栵紝瀹冭繕鍏锋湁鐏垫椿鐨勯厤缃夐」鍜屾墿灞曟э紝鍏佽鏍规嵁闇瑕佽繘琛屽畾鍒跺拰鎵╁睍銆侷ngress ...
  • kubernetes瀹夎ingress-nginx
    绛旓細娉ㄦ剰锛氬鏋滀笉鍔犺繖浜屼釜鍙傛暟锛屽湪鍚庣画鍒涘缓鑷畾涔夌殑ingress浼氭湁濡備笅鎶ラ敊Error from server (InternalError): error when creating "ingress-redirect.yaml": Internal error occurred: failed calliess.kubernetes.io": the server rejected our request for an unknown reason ...
  • ingress鍓嶉潰涓轰粈涔堣繕瑕佹斁nginx
    绛旓細ingress鍓嶉潰瑕佹斁nginx鍘熷洜锛氭湁涓鐐逛綘鍙兘娌℃湁寮勬槑鐧斤紝閭e氨鏄痸arnish 鏄笓鍋歝ache鐨勶紝璺焥quid宸笉澶氾紝nginx 鍋氫唬鐞嗙殑锛屾墍浠ヤ竴鑸儏鍐典笅锛岄兘鏄痭ginx->varnish->鍚庣璺焌pache銆乼omcat绛夊鍣ㄣ俷ginx 杩欎釜杞婚噺绾с侀珮鎬ц兘鐨 web server 涓昏鍙互骞蹭袱浠朵簨鎯咃細銆夌洿鎺ヤ綔涓篽ttp server(浠f浛apache锛屽PHP闇瑕丗astCGI澶勭悊...
  • ingress-nginx甯歌鍙傝冮厤缃
    绛旓細kubectl get svc -n ingress-inner 娣诲姞--tcp-services-configmap鍜--udp-services-configmap鍙傛暟锛屽紑鍚痶cp涓巙dp鐨勬敮鎸 鏍煎紡涓 <ingress-controller-svc-port>:"<namespace>/<service-name>:<port>"渚嬪涓嬮潰琛ㄧず 灏唌onitoring鍛藉悕绌洪棿涓嬬殑hetaoskywalking-oap鏈嶅姟鐨11800绔彛鏄犲皠鍒癷ngress-controller service...
  • ingress-nginx閮ㄧ讲
    绛旓細github鍦板潃锛 https://github.com/kubernetes/ingress-nginx/tree/nginx-0.30.0 椤圭洰瀹樼綉deploy鏂瑰紡閮ㄧ讲鐨剏aml閰嶇疆鍦板潃锛 https://github.com/kubernetes/ingress-nginx/tree/nginx-0.30.0/deploy/static configmap.yaml 瀛樺偍閰嶇疆淇℃伅锛宬ey/value鍊 namespace.yaml 寤哄懡鍚嶇┖闂 mandatory.yaml 鍖呭惈閮ㄧ讲...
  • helm閮ㄧ讲鍏綉LB ingress-nginx
    绛旓細濡傛灉鍦ㄥ浗鍐呮媺鍙栧畼鏂归暅鍍忓鑷撮儴缃插け璐ワ紝鍙互灏ingress-nginx闇瑕佺殑闀滃儚鎺ㄩ佸埌鑷湁闀滃儚浠撳簱锛岀劧鍚庝娇鐢ㄨ嚜鏈夐暅鍍忎粨搴撳弬鑰冩搷浣滃涓嬶細 灏嗗畼鏂归暅鍍忎笂浼犲埌鑷湁闀滃儚浠撳簱, 浠ヤ粨搴撳湴鍧: uhub.service.ucloud.cn/ucloud_pts涓轰緥,闇瑕佸悓姝ラ暅鍍忓垪琛ㄥ涓:鍏充簬docker pull tag push 鎿嶄綔鍙互鍙傝冿細鐒跺悗鎵ц鏇存柊鍗冲彲锛氱劧鍚庢墽琛...
  • nginx-ingress瀹夎(DaemonSet妯″紡)
    绛旓細apiVersion: apps/v1 kind: DaemonSet metadata:  name: nginx-ingress   namespace: kube-system spec:  selector:    matchLabels:      app: nginx-ingress   template:    metadata:      ...
  • Kubernetes 閮ㄧ讲閰嶇疆 Ingress
    绛旓細绗竴涓紪杈 vi deploy.yaml 鎼滅储鍐呭 controller:v1.1.1 闃块噷浜戦暅鍍忕櫥褰曟悳绱 https://cr.console.aliyun.com/cn-hangzhou/instances/images 绗簩涓紪杈 vi deploy.yaml 鎼滅储鍐呭 kube-webhook-certgen:v1.1.1 image: k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1@sha256:...
  • 扩展阅读:免费b站在线观看人数统计 ... m3u8视频可以永久保存 ... mindmaster永久免费版 ... www.sony.com.cn ... 免费高清网站 ... imax好看的大片 ... 免费的安全的网站入口 ... aws永久免费服务器 ... 免费的网站入口在哪找到 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网